using IRaCIS.Core.Domain.Share;
namespace IRaCIS.Core.Domain.Models;

[Comment("项目阅片 - 任务问题标记")]
[Table("ReadingTaskQuestionMark")]
public class ReadingTaskQuestionMark : BaseAddAuditEntity
{
    #region 导航属性
    [JsonIgnore]
    [ForeignKey("QuestionId")]
    public ReadingQuestionTrial? ReadingQuestionTrial { get; set; }

    [JsonIgnore]
    [ForeignKey("InstanceId")]
    public DicomInstance Instance { get; set; }

    [JsonIgnore]
    [ForeignKey("VisitTaskId")]
    public VisitTask VisitTask { get; set; }
    #endregion
    public Guid VisitTaskId { get; set; }

    public Guid? QuestionId { get; set; }

    public Guid? InstanceId { get; set; }

    public Guid? SeriesId { get; set; }
    public Guid? StudyId { get; set; }

    [MaxLength]
    public string MarkTool { get; set; } = string.Empty;

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

    public int? NumberOfFrames { get; set; }

    [MaxLength]
    public string MeasureData { get; set; } = string.Empty;
    public Guid? FristAddTaskId { get; set; }

    public QuestionType? QuestionType { get; set; }
    public string OrderMarkName { get; set; } = string.Empty;

    public Guid? OtherInstanceId { get; set; }

    public Guid? OtherSeriesId { get; set; }

    public Guid? OtherStudyId { get; set; }

    /// <summary>
    /// 表格问题标记
    /// </summary>
    public Guid? RowId { get; set; }

    public Guid? TableQuestionId { get; set; }

    public decimal? RowIndex { get; set; }

    [MaxLength]
    public string OtherMarkTool { get; set; } = string.Empty;

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

    public int? OtherNumberOfFrames { get; set; }

    [MaxLength]
    public string OtherMeasureData { get; set; } = string.Empty;

    /// <summary>
    /// 把之前历史的ReadingCustomTag 数据移动到这个表中  这个是历史数据的迁移字段
    /// </summary>
    public Guid? CustomTagId { get; set; }

    /// <summary>
    /// 标记的唯一标识符
    /// </summary>
    public Guid? MarkId { get; set; }
}
