using System; using IRaCIS.Core.Domain.Share; using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations.Schema; using System.Collections.Generic; using System.Linq; namespace IRaCIS.Core.Domain.Models { /// /// 系统阅片问题 /// [Table("ReadingQuestionSystem")] public class ReadingQuestionSystem : Entity, IAuditAdd { /// /// 系统标准Id /// public Guid ReadingQuestionCriterionSystemId { get; set; } /// /// 类型 /// public string Type { get; set; } /// /// 父问题触发 /// public string ParentTriggerValue { get; set; } /// /// 问题名称 /// public string QuestionName { get; set; } /// /// 是否是必须 /// public IsRequired IsRequired { get; set; } /// /// 排序 /// public int ShowOrder { get; set; } /// /// 父问题ID /// public Guid? ParentId { get; set; } /// /// 类型值 /// public string TypeValue { get; set; } /// /// 是否启用 /// public bool IsEnable { get; set; } /// /// 创建时间 /// public DateTime CreateTime { get; set; } /// /// 是否是裁判问题 /// public bool IsJudgeQuestion { get; set; } /// /// 备注 /// public string Remark { get; set; } /// /// 关联ID /// public Guid? RelevanceId { get; set; } /// /// 关联Value /// public string RelevanceValue { get; set; } = string.Empty; /// /// 分组 /// public string GroupName { get; set; } /// /// 图片数量 /// public int ImageCount { get; set; } = 1; /// /// 是否显示 /// public ShowQuestion ShowQuestion { get; set; } = ShowQuestion.Show; /// /// 最大问题数 /// public int? MaxQuestionCount { get; set; } /// /// 病灶类型 /// public LesionType? LesionType { get; set; } /// /// 问题类型 /// public QuestionType? QuestionType { get; set; } /// /// 是否显示在Dicom阅片中 /// public bool IsShowInDicom { get; set; } = false; /// /// 序号标记 /// public string OrderMark { get; set; } = string.Empty; /// /// 字典code /// public string DictionaryCode { get; set; } = string.Empty; /// /// 创建人 /// public Guid CreateUserId { get; set; } /// /// 问题类型 /// public TableQuestionType? QuestionGenre { get; set; } /// /// 全局阅片显示类型 /// public GlobalReadingShowType GlobalReadingShowType { get; set; } = GlobalReadingShowType.NotShow; /// /// 转化显示类型 /// public ConvertShowType ConvertShowType { get; set; } = ConvertShowType.All; /// /// 默认值 /// public string DefaultValue { get; set; } = string.Empty; /// /// 数值类型 /// public ValueOfType? ValueType { get; set; } /// /// 单位 /// public ValueUnit? Unit { get; set; } /// /// 问题英文名称 /// public string QuestionEnName { get; set; } = string.Empty; /// /// 问题英文分组 /// public string GroupEnName { get; set; } = string.Empty; /// /// 限制编辑 /// public LimitEdit LimitEdit { get; set; } = LimitEdit.None; /// /// 数据来源 /// public DataSources DataSource { get; set; } = DataSources.ManualEntry; /// /// 最大答案长度 /// public int? MaxAnswerLength { get; set; } /// /// 分组ID /// public Guid? GroupId { get; set; } /// /// 文件类型 /// public string? FileType { get; set; } [JsonIgnore] [ForeignKey("GroupId")] public ReadingQuestionSystem GroupInfo { get; set; } [JsonIgnore] [ForeignKey("ReadingQuestionCriterionSystemId")] public ReadingQuestionCriterionSystem ReadingQuestionCriterionSystem { get; set; } [JsonIgnore] [ForeignKey("ParentId")] public ReadingQuestionSystem ParentReadingQuestionSystem { get; set; } [JsonIgnore] [ForeignKey("RelevanceId")] public ReadingQuestionSystem RelevanceReadingQuestionSystem { get; set; } [NotMapped] public List ParentTriggerValueList { get { try { return this.ParentTriggerValue.Split(',').ToList(); } catch (Exception) { return new List(); } } } [NotMapped] public List RelevanceValueList { get { try { return this.RelevanceValue.Split(',').ToList(); } catch (Exception) { return new List(); } } } } }