using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using System.Text.Json.Serialization;
namespace Blahblah.FlowerStory.Server.Data.Model;
///
/// 评论对象
///
[Table("comments")]
public class CommentItem
{
///
/// 自增 id,主键
///
[Column("cid")]
[Key]
[Required]
public int Id { get; set; }
///
/// 关联人 id
///
[Column("uid")]
[ForeignKey(nameof(Owner))]
[Required]
public int OwnerId { get; set; }
///
/// 关联人
///
[JsonIgnore]
public UserItem? Owner { get; set; }
///
/// 操作时间
///
[Column("date")]
[Required]
[JsonPropertyName("date")]
public long DateUnixTime { get; set; }
///
/// 关联的事件 id
///
[Column("rid")]
[Required]
[ForeignKey(nameof(Record))]
public int RecordId { get; set; }
///
/// 关联的事件
///
[JsonIgnore]
public RecordItem Record { get; set; } = null!;
///
/// 评论类别:1-点赞,2-收藏,3-标签,default-评论
///
[Column("category")]
public int? CommentCategoryId { get; set; }
///
/// 操作人 uid
///
[Column("byuid")]
public int? ByUserId { get; set; }
///
/// 操作人名称
///
[Column("byname")]
public string? ByUserName { get; set; }
///
/// 备注
///
[Column("text")]
public string? Text { get; set; }
///
/// 操作时间
///
[NotMapped]
[JsonIgnore]
public DateTimeOffset Date => DateTimeOffset.FromUnixTimeMilliseconds(DateUnixTime);
///
/// 纬度
///
[Column("latitude")]
public double? Latitude { get; set; }
///
/// 经度
///
[Column("longitude")]
public double? Longitude { get; set; }
}