namespace IRaCIS.Core.Domain.Models;

[Comment("项目中心 - 推送Instance")]
[Table("SCPInstance")]
public class SCPInstance : BaseFullAuditEntity, IEntitySeqId
{
    #region 导航属性
    [JsonIgnore]
    [ForeignKey("SeriesId")]
    public SCPSeries SCPSeries { get; set; }

    [JsonIgnore]
    [ForeignKey("StudyId")]
    public SCPStudy SCPStudy { get; set; }
    #endregion
    public Guid SeqId { get; set; }
    public Guid StudyId { get; set; }
    public Guid SeriesId { get; set; }
    public string StudyInstanceUid { get; set; } = string.Empty;
    public string SeriesInstanceUid { get; set; } = string.Empty;
    public string SopInstanceUid { get; set; } = string.Empty;
    public int InstanceNumber { get; set; }
    public DateTime? InstanceTime { get; set; }
    public bool CPIStatus { get; set; }
    public int ImageRows { get; set; }
    public int ImageColumns { get; set; }
    public int SliceLocation { get; set; }
    public string SliceThickness { get; set; } = string.Empty;
    public int NumberOfFrames { get; set; }
    public string PixelSpacing { get; set; } = string.Empty;

    public string ImagerPixelSpacing { get; set; } = string.Empty;
    public string FrameOfReferenceUID { get; set; } = string.Empty;
    public string WindowCenter { get; set; } = string.Empty;
    public string WindowWidth { get; set; } = string.Empty;

    public bool Anonymize { get; set; }

    [StringLength(1000)]
    public string Path { get; set; } = string.Empty;

    public long? FileSize { get; set; }
}