namespace IRaCIS.Core.Domain.Models;

[Comment("项目阅片 - 任务后处理Instance")]
[Table("TaskInstance")]
public class TaskInstance : BaseFullAuditEntity, IEntitySeqId
{
    #region 导航属性
    [JsonIgnore]
    [ForeignKey("SeriesId")]
    public TaskSeries TaskSeries { get; set; }

    [JsonIgnore]
    [ForeignKey("StudyId")]
    public TaskStudy TaskStudy { 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 Guid TrialId { get; set; }
    public Guid SubjectId { get; set; }
    public Guid VisitTaskId { get; set; }
    public bool Anonymize { get; set; }
    public string Path { get; set; } = string.Empty;

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

    public long? FileSize { get; set; }

}