using System; using System.Collections.Generic; using IRaCIS.Common.Model; using IRaCIS.Core.Domain.Share; namespace IRaCIS.Application.ViewModels { public class TrialDTO: TrialDbModel { public string ReviewType { get; set; } public string Criterion { get; set; } public string CRO { get; set; } public string Sponsor { get; set; } } public class TrialDbModel { public Guid Id { get; set; } public string Code { get; set; } = string.Empty; public string Indication { get; set; } = string.Empty; public int TrialStatus { get; set; } public string TrialStatusStr { get; set; } = string.Empty; public string Phase { get; set; } = string.Empty; public Guid? ReviewTypeId { get; set; } = Guid.Empty; public Guid? CriterionId { get; set; } = Guid.Empty; public Guid? CROId { get; set; } = Guid.Empty; public Guid? SponsorId { get; set; } = Guid.Empty; public Guid? ReviewModeId { get; set; } = Guid.Empty; public string Note { get; set; } = string.Empty; public string TurnaroundTime { get; set; } = string.Empty; public int ExpectedPatients { get; set; } public int TimePointsPerPatient { get; set; } public int GRRReviewers { get; set; } public int TotalReviewers { get; set; } public string ReviewProtocol { get; set; } = string.Empty; public string MessageFromClient { get; set; } = string.Empty; public DateTime? CreateTime { get; set; } public string ReviewProtocolName { get; set; } = string.Empty; public string MessageFromClientName { get; set; } = string.Empty; public int Expedited { get; set; } } public class TrialDetailDTO : TrialDTO { public TrialDetailDTO() { ModalityIds = new List(); ModalityList = new List(); } public string ReviewMode { get; set; } public string ReviewProtocolFullPath => WebAppConfig.RootUrl + ReviewProtocol; public string MessageFromClientFullPath => WebAppConfig.RootUrl + MessageFromClient; public string SowFullPath => WebAppConfig.RootUrl + SowPath; public List ModalityList { get; set; } //成像设备 多选 public List ModalityIds { get; set; } //统计字段 public string SowName { get; set; } public string SowPath { get; set; } public bool IsLocked { get; set; } //public bool LockTrialCode { get; set; } //public int Submitted { get; set; } //public int Approved { get; set; } //public int Trained { get; set; } //public int Reading { get; set; } } public class TrialAndTrialStateVieModel { public TrialDetailDTO TrialView { get; set; } public int TrialMaxState { get; set; } } public class TrialCommand : TrialDbModel { public Guid UserId { get; set; } public List ModalityIds { get; set; } = new List(); } public class TrialQueryDTO : PageInput { public TrialQueryDTO() { ModalityIds = new List(); } public Guid? CriterionId { get; set; } = Guid.Empty; public Guid? SponsorId { get; set; } = Guid.Empty; public Guid? CROId { get; set; } = Guid.Empty; public Guid? ReviewTypeId { get; set; } = Guid.Empty; public List ModalityIds { get; set; } public string Code { get; set; } = string.Empty; public string Indication { get; set; } = string.Empty; public string Phase { get; set; } = string.Empty; public string TrialStatus { get; set; } public DateTime? BeginDate { get; set; } public DateTime? EndDate { get; set; } public int? Expedited { get; set; } = (int)TrialExpedited.All; } public class TrialByStatusQueryDTO : PageInput { public Guid DoctorId { get; set; } public int Status { get; set; } } }