namespace IRaCIS.Core.Domain.Models;

[Comment("影像 - 非dicom检查关联文件表")]
[Table("NoneDicomStudyFile")]
public class NoneDicomStudyFile : BaseAddDeleteAuditEntity
{
    #region 导航属性
    [ForeignKey("NoneDicomStudyId")]
    [JsonIgnore]
    public NoneDicomStudy NoneDicomStudy { get; set; }
    [JsonIgnore]
    public VisitTask VisitTask { get; set; }

    [ForeignKey("OriginNoneDicomStudyId")]
    [JsonIgnore]
    public NoneDicomStudy OriginNoneDicomStudy { get; set; }


    [ForeignKey("ImageLabelNoneDicomStudyId")]
    [JsonIgnore]
    public NoneDicomStudy ImageMarkNoneDicomStudy { get; set; }


    //[ForeignKey("ImageMarkSubjectVisitId")]
    //[JsonIgnore]
    //public SubjectVisit ImageMarkSubjectVisit { get; set; }
    #endregion
    public Guid NoneDicomStudyId { get; set; }

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

    public string FileType { get; set; } = string.Empty;

    public long? FileSize { get; set; }

    public bool IsReading { get; set; } = true;

    public bool IsMasked { get; set; }

    #region 跟任务绑定 同时区分检查

    public Guid? VisitTaskId { get; set; }
    [Comment("为了不影响原始检查，跟任务绑定的  NoneDicomStudyId 为guid空  这个字段记录跟原始检查绑")]
    public Guid? OriginNoneDicomStudyId { get; set; }
    #endregion


    #region 影像预处理访视Id  NoneDicomStudyId 为guid空

    //public Guid? ImageMarkSubjectVisitId { get; set; }

    public Guid? ImageLabelNoneDicomStudyId { get; set; }
    #endregion
}

