using RMuseum.Models.Artifact;
using RSecurityBackend.Models.Auth.Db;
using System;
namespace RMuseum.Models.Ganjoor
{
///
/// Ganjoor Comment
///
public class GanjoorComment
{
///
/// Id
///
public int Id { get; set; }
///
/// Ganjoor Poem Id
///
public int PoemId { get; set; }
///
/// Ganjoor Poem Id
///
public GanjoorPoem Poem { get; set; }
///
/// user id
///
public Guid? UserId { get; set; }
///
/// user
///
public virtual RAppUser User { get; set; }
///
/// author name (MySql imported field)
///
public string AuthorName { get; set; }
///
/// author email (MySql imported field)
///
public string AuthorEmail { get; set; }
///
/// author url (MySql imported field)
///
public string AuthorUrl { get; set; }
///
/// author IP address (MySql imported field)
///
public string AuthorIpAddress { get; set; }
///
/// comment date
///
public DateTime CommentDate { get; set; }
///
/// comment
///
public string HtmlComment { get; set; }
///
/// In Reply to Other Comment
///
public virtual GanjoorComment InReplyTo { get; set; }
///
/// Reference Comment Id
///
public int? InReplyToId { get; set; }
///
/// publish status
///
public PublishStatus Status { get; set; }
///
/// related verse 1 Id, this is always null, because verses are removed and created on operations like editing and their Ids changed, so
/// later I decided to rely on (PoemId + CoupletIndex) instead
///
public int? Verse1Id { get; set; }
///
/// do not use
///
public virtual GanjoorVerse Verse1 { get; set; }
///
/// related verse 2 Id, this is always null, because verses are removed and created on operations like editing and their Ids changed, so
/// later I decided to rely on (PoemId + CoupletIndex) instead
///
public int? Verse12d { get; set; }
///
/// do not use
///
public virtual GanjoorVerse Verse2 { get; set; }
///
/// couplet index
///
public int? CoupletIndex { get; set; }
///
/// Total likes
///
public int LikeCount { get; set; }
///
/// Total dislikes
///
public int DislikeCount { get; set; }
///
/// Internal ranking key for sorting.
/// Not shown to users.
///
public int SortKey /*RankingScore*/ { get; set; }
}
}