using IRaCIS.Core.Domain.Share; using System.Linq; namespace IRaCIS.Core.Domain.Models; [Comment("项目阅片问题")] [Table("ReadingTableQuestionTrial")] public class ReadingTableQuestionTrial : BaseAddAuditEntity { #region 导航属性 [JsonIgnore] [ForeignKey("DependParentId")] public ReadingTableQuestionTrial DependParentQuestion { get; set; } [JsonIgnore] [ForeignKey("ReadingQuestionId")] public ReadingQuestionTrial ReadingQuestionTrial { 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(); } } } [NotMapped] public List CalculateQuestionList { get { try { var result = JsonConvert.DeserializeObject>(this.CalculateQuestions); return result == null ? new List() : result; } catch (Exception) { return new List(); } } } #endregion public Guid TrialId { get; set; } [Comment("项目问题的Id ReadingQuestionTrial的id")] public Guid ReadingQuestionId { get; set; } public string Type { get; set; } = string.Empty; public Guid? ParentId { get; set; } public string ParentTriggerValue { get; set; } = string.Empty; public string QuestionName { get; set; } = string.Empty; public IsRequired IsRequired { get; set; } public int ShowOrder { get; set; } public string TypeValue { get; set; } = string.Empty; public bool IsEnable { get; set; } [Comment("注释")] public string Remark { get; set; } = string.Empty; public Guid? RelevanceId { get; set; } public string RelevanceValue { get; set; } = string.Empty; public ShowQuestion ShowQuestion { get; set; } public int? MaxRowCount { get; set; } [Comment("默认值")] public string DefaultValue { get; set; } = string.Empty; [Comment("图片数量")] public int? ImageCount { get; set; } public string DataTableName { get; set; } = string.Empty; public string DataTableColumn { get; set; } = string.Empty; public TableQuestionType? TableQuestionType { get; set; } public Guid? DependParentId { get; set; } public IsDepend IsDepend { get; set; } public Guid TrialCriterionId { get; set; } [Comment("问题标识")] public QuestionMark? QuestionMark { get; set; } [Comment("字典code")] public string DictionaryCode { get; set; } = string.Empty; [Comment("数值类型")] public ValueOfType? ValueType { get; set; } [Comment("分类算法")] public string ClassifyAlgorithms { get; set; } = string.Empty; [Comment("单位")] public ValueUnit? Unit { get; set; } [Comment("自定义单位")] public string CustomUnit { get; set; } = string.Empty; [Comment("自定义计算标记")] public CustomCalculateMark? CustomCalculateMark { get; set; } [Comment("限制编辑")] public LimitEdit LimitEdit { get; set; } = LimitEdit.None; [Comment("自定义计算标记")] [MaxLength] public string CalculateQuestions { get; set; } = "[]"; [Comment("问题英文名称")] public string QuestionEnName { get; set; } = string.Empty; [Comment("数据来源")] public DataSources DataSource { get; set; } = DataSources.ManualEntry; [Comment("最大答案长度")] public int? MaxAnswerLength { get; set; } [Comment("文件类型")] public string FileType { get; set; } = string.Empty; [Comment("问题分类")] public QuestionClassify? QuestionClassify { get; set; } [Comment("复制病灶的时候 是否复制这个问题")] public bool IsCopy { get; set; } = false; [Comment("系统表格问题Id")] public Guid? SystemTableQuestionId { get; set; } [Comment("分类问题表格Id")] public Guid? ClassifyTableQuestionId { get; set; } [Comment("分类类型")] public ClassifyType? ClassifyType { get; set; } /// /// 分类编辑类型 是否可编辑 /// public ClassifyEditType? ClassifyEditType { get; set; } /// /// 分类显示类型 是否显示 /// public ClassifyShowType? ClassifyShowType { get; set; } [Comment("导出结果")] public string ExportResultStr { get; set; } = "[]"; /// /// 导出的CDISCName /// public string CDISCCode { get; set; } = string.Empty; /// /// 影像标记 /// public ImageMark? ImageMarkEnum { get; set; } [NotMapped] public List ExportResult { get { try { var result = JsonConvert.DeserializeObject>(this.ExportResultStr); return result == null ? new List() : result; } catch (Exception) { return new List(); } } } }