CostCalculationItem/IRaCIS.Core.Application/ViewModels/Trial/TrialViewModel.cs

147 lines
4.1 KiB
C#

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<Guid>();
ModalityList = new List<string>();
}
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<string> ModalityList { get; set; } //成像设备 多选
public List<Guid> 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<Guid> ModalityIds { get; set; } = new List<Guid>();
}
public class TrialQueryDTO : PageInput
{
public TrialQueryDTO()
{
ModalityIds = new List<Guid>();
}
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<Guid> 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; }
}
}