92 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			C#
		
	
	
			
		
		
	
	
			92 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			C#
		
	
	
| using MiniExcelLibs.Attributes;
 | |
| using System.ComponentModel.DataAnnotations;
 | |
| 
 | |
| namespace IRaCIS.Core.Application.MassTransit.Command
 | |
| {
 | |
|     public record ConsistenCheckCommand
 | |
|     {
 | |
|         public List<CheckViewModel> ETCList { get; set; } = new List<CheckViewModel>();
 | |
| 
 | |
|         public Guid TrialId { get; set; }
 | |
|     }
 | |
| 
 | |
|     public record ConsistenCheckResult
 | |
|     {
 | |
| 
 | |
|     }
 | |
| 
 | |
|     public class CheckDBModel : CheckViewModel
 | |
|     {
 | |
| 
 | |
|         public Guid SubjectVisitId { get; set; }
 | |
| 
 | |
|         public Guid StudyId { get; set; }
 | |
|     }
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
|     //[ExcelImporter(/*ImportResultFilter = typeof(ImportResultFilteTest),*/ IsLabelingError = true)]
 | |
| 
 | |
|     public class CheckViewModel
 | |
|     {
 | |
|         //[Required(ErrorMessage = "中心编号不能为空")]
 | |
|         //[ImporterHeader(Name = "Site ID", AutoTrim = true)]
 | |
|         [ExcelColumnName("Site ID")]
 | |
|         public string SiteCode { get; set; } = string.Empty;
 | |
| 
 | |
| 
 | |
|         //[Required(ErrorMessage = "受试者筛选号不能为空")]
 | |
|         //[ImporterHeader(Name = "Subject ID", AutoTrim = true)]
 | |
|         [ExcelColumnName("Subject ID")]
 | |
|         public string SubjectCode { get; set; } = string.Empty;
 | |
| 
 | |
|         //[Required(ErrorMessage = "访视名称不能为空")]
 | |
|         //[ImporterHeader(Name = "Visit Name", AutoTrim = true)]
 | |
|         [ExcelColumnName("Visit Name")]
 | |
|         public string VisitName { get; set; } = string.Empty;
 | |
| 
 | |
| 
 | |
| 
 | |
|         //[Required(ErrorMessage = "检查日期不能为空")]
 | |
|         [CanConvertToTime(ErrorMessage = "Does not conform to Study Date format")]
 | |
| 
 | |
|         //[ImporterHeader(Name = "Study Date", AutoTrim = true)]
 | |
|         [ExcelColumnName("Study Date")]
 | |
|         public string StudyDate { get; set; } = string.Empty;
 | |
| 
 | |
| 
 | |
| 
 | |
|         //[Required(ErrorMessage = "Modality不能为空")]
 | |
|         //[ImporterHeader(Name = "Modality", AutoTrim = true)]
 | |
|         [ExcelColumnName("Modality")]
 | |
|         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();
 | |
|         }
 | |
|     }
 | |
| 
 | |
| 
 | |
| 
 | |
| }
 |