irc-netcore-api/IRaCIS.Core.Domain/Reading/ClinicalData/ClinicalDataTrialSet.cs

119 lines
2.7 KiB
C#

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
{
///<summary>
/// 临床资料项目配置
///</summary>
[Table("ClinicalDataTrialSet")]
public class ClinicalDataTrialSet : Entity, IAuditAdd
{
/// <summary>
/// 项目ID
/// </summary>
public Guid TrialId { get; set; }
/// <summary>
/// 名称
/// </summary>
public string ClinicalDataSetName { get; set; }
/// <summary>
/// 英文名称
/// </summary>
public string ClinicalDataSetEnName { get; set; } = string.Empty;
/// <summary>
/// 临床级别
/// </summary>
public ClinicalLevel ClinicalDataLevel { get; set; }
/// <summary>
/// 上传方式
/// </summary>
public ClinicalUploadType ClinicalUploadType { get; set; }
/// <summary>
/// 系统的ClinicalDataSetId
/// </summary>
public Guid? SystemClinicalDataSetId { get; set; }
/// <summary>
/// 创建时间
/// </summary>
public DateTime CreateTime { get; set; }
/// <summary>
/// 创建人
/// </summary>
public Guid CreateUserId { get; set; }
/// <summary>
/// 是否确认
/// </summary>
public bool IsConfirm { get; set; }
/// <summary>
/// 是否应用
/// </summary>
public bool IsApply { get; set; } = false;
/// <summary>
/// 上传角色
/// </summary>
public UploadRole UploadRole { get; set; }
/// <summary>
/// 模板文件名称
/// </summary>
public string FileName { get; set; }
/// <summary>
/// 文件路径
/// </summary>
public string Path { get; set; }
[JsonIgnore]
/// <summary>
///
/// </summary>
public List<ReadingClinicalData> ReadingClinicalDataList { get; set; }
[JsonIgnore]
[ForeignKey("TrialId")]
public Trial Trial { get; set; }
[JsonIgnore]
public List<TrialClinicalDataSetCriterion> TrialClinicalDataSetCriteriaList { get; set; }
[JsonIgnore]
public List<TrialClinicalQuestion> TrialClinicalQuestionList { get; set; }
public string CriterionEnumListStr { get; set; } = String.Empty;
public List<int> CriterionEnumList => CriterionEnumListStr.Split('|', StringSplitOptions.RemoveEmptyEntries).Where(t => !string.IsNullOrEmpty(t) && int.TryParse(t.Trim(), out var s)).Select(t => int.Parse(t.Trim())).ToList();
}
}