using System; using IRaCIS.Core.Domain.Share; using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations.Schema; using System.Collections.Generic; using System.Linq; using Microsoft.EntityFrameworkCore; namespace IRaCIS.Core.Domain.Models; [Comment("项目 - 临床数据适应标准配置")] [Table("ClinicalDataTrialSet")] public class ClinicalDataTrialSet : BaseAddAuditEntity { #region 导航属性 [JsonIgnore] public List ReadingClinicalDataList { get; set; } [JsonIgnore] [ForeignKey("TrialId")] public Trial Trial { get; set; } [JsonIgnore] public List TrialClinicalDataSetCriteriaList { get; set; } [JsonIgnore] public List TrialClinicalQuestionList { get; set; } [JsonIgnore] [ForeignKey("SystemClinicalDataSetId")] public ClinicalDataSystemSet? ClinicalDataSystemSet { get; set; } #endregion [Comment("临床级别")] public ClinicalLevel ClinicalDataLevel { get; set; } [StringLength(400)] public string ClinicalDataSetEnName { get; set; } = null!; public string ClinicalDataSetName { get; set; } = null!; [Comment("上传方式")] public ClinicalUploadType ClinicalUploadType { get; set; } [StringLength(512)] public string CriterionEnumListStr { get; set; } = null!; [StringLength(400)] public string FileName { get; set; } = null!; [Comment("是否应用")] public bool IsApply { get; set; } public bool IsConfirm { get; set; } [StringLength(4000)] public string Path { get; set; } = null!; public Guid? SystemClinicalDataSetId { get; set; } public Guid TrialId { get; set; } public UploadRole UploadRole { get; set; } public List CriterionEnumList => CriterionEnumListStr.Split('|', StringSplitOptions.RemoveEmptyEntries).Where(t => !string.IsNullOrEmpty(t) && int.TryParse(t.Trim(), out var s)).Select(t => int.Parse(t.Trim())).ToList(); }