using Magicodes.ExporterAndImporter.Core; using MediatR; using MiniExcelLibs.Attributes; namespace IRaCIS.Core.Application.MediatR.CommandAndQueries { public class ConsistencyVerificationRequest : IRequest { public List ETCList { get; set; } = new List(); public Guid TrialId { get; set; } } public class CheckDBModel : CheckViewModel { public Guid SubjectVisitId { get; set; } public Guid StudyId { get; set; } } public class CheckViewModel { [ExcelColumnName("中心编号")] public string SiteCode { get; set; } = string.Empty; [ExcelColumnName("受试者筛选号")] public string SubjectCode { get; set; } = string.Empty; [ExcelColumnName("访视名称")] public string VisitName { get; set; } = string.Empty; [ExcelColumnName("检查日期")] public string StudyDate { get; set; } = string.Empty; [ExcelColumnName("检查技术")] public string Modality { get; set; } = string.Empty; public override bool Equals(object? obj) { if (obj == null) return false; var checkModel = obj as CheckViewModel; if (checkModel is not null) { return SiteCode == checkModel.SiteCode && SubjectCode == checkModel.SubjectCode && VisitName == checkModel.VisitName && StudyDate == checkModel.StudyDate && Modality == checkModel.Modality; } else { return false; } } public override int GetHashCode() { return (SiteCode + SubjectCode + VisitName + StudyDate + Modality).GetHashCode(); } } public class VisitPlanInfluenceSubjectVisitDTO { [ExporterHeader(IsIgnore = true)] public Guid StudyId { get; set; } [ExporterHeader(IsIgnore = true)] public Guid TrialId { get; set; } [ExporterHeader(IsIgnore = true)] public Guid SubjectVisitId { get; set; } [ExporterHeader(DisplayName = "中心编号")] public string TrialSiteCode { get; set; } = string.Empty; [ExporterHeader(DisplayName = "受试者")] public string SubjectCode { get; set; } = string.Empty; [ExporterHeader(DisplayName = "访视名称")] public string VisitName { get; set; } = string.Empty; [ExporterHeader(DisplayName = "检查时间", Format = "yyyy-mm-dd hh:mm:ss")] public DateTime StudyTime { get; set; } [ExporterHeader(DisplayName = "检查技术")] public string Modality { get; set; } = string.Empty; [ExporterHeader(IsIgnore = true)] public bool IsDicomStudy { get; set; } [ExporterHeader(DisplayName = "影像类型")] public string ImageType => IsDicomStudy ? "Dicom" : "非Dicom"; [ExporterHeader(DisplayName = "历史窗口")] public string HistoryWindow { get; set; } = string.Empty; [ExporterHeader(DisplayName = "之前超窗调整后没超窗")] [ValueMapping(text: "yes", true)] [ValueMapping(text: "no", false)] public bool IsOverWindowNowNotOverWindow { get; set; } [ExporterHeader(DisplayName = "目前窗口")] public string NowWindow { get; set; } = string.Empty; [ExporterHeader(IsIgnore = true)] public DateTime CreateTime { get; set; } } }