Uat_Study
			
			
		
		
							parent
							
								
									2a7280b501
								
							
						
					
					
						commit
						64a433ea10
					
				| 
						 | 
				
			
			@ -50,13 +50,7 @@ namespace IRaCIS.Core.Application.Triggers
 | 
			
		|||
              
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
                var cRCClinicalDatas = await _clinicalDataTrialSetRepository.Where(x => x.TrialId == subject.TrialId && x.UploadRole == UploadRole.CRC && x.IsConfirm)
 | 
			
		||||
           
 | 
			
		||||
               .Select(x =>new {
 | 
			
		||||
                   x.Id,
 | 
			
		||||
                   x.ClinicalDataLevel,
 | 
			
		||||
               } ).ToListAsync();
 | 
			
		||||
                List<ReadingClinicalData> readingClinicals = new List<ReadingClinicalData>();
 | 
			
		||||
                svList.ForEach(t =>
 | 
			
		||||
                {
 | 
			
		||||
                    t.Subject = subject;
 | 
			
		||||
| 
						 | 
				
			
			@ -65,23 +59,9 @@ namespace IRaCIS.Core.Application.Triggers
 | 
			
		|||
                    t.SiteId = subject.SiteId;
 | 
			
		||||
                    t.IsEnrollmentConfirm = t.IsBaseLine ? IsEnrollementQualificationConfirm : false;
 | 
			
		||||
                    t.Id = NewId.NextGuid();
 | 
			
		||||
                    readingClinicals.AddRange(
 | 
			
		||||
                 
 | 
			
		||||
                        cRCClinicalDatas.WhereIf(!t.IsBaseLine, x => x.ClinicalDataLevel == ClinicalLevel.SubjectVisit).Select(x => new ReadingClinicalData()
 | 
			
		||||
                        {
 | 
			
		||||
                            ClinicalDataTrialSetId = x.Id,
 | 
			
		||||
                            IsVisit = true,
 | 
			
		||||
                            SubjectId = subject.Id,
 | 
			
		||||
                            ReadingId = t.Id,
 | 
			
		||||
                            TrialId = subject.TrialId
 | 
			
		||||
 | 
			
		||||
                        }).ToList()
 | 
			
		||||
 | 
			
		||||
                        );
 | 
			
		||||
                });
 | 
			
		||||
 | 
			
		||||
                await _readingClinicalDataRepository.AddRangeAsync(readingClinicals);
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
                await _subjectVisitRepository.AddRangeAsync(svList);
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -17,14 +17,19 @@ namespace IRaCIS.Core.Application.Triggers
 | 
			
		|||
        private readonly IVisitTaskHelpeService _visitTaskHelpeService;
 | 
			
		||||
     
 | 
			
		||||
        private readonly IRepository<Subject> _subjectRepository;
 | 
			
		||||
 | 
			
		||||
        private readonly IRepository<ClinicalDataTrialSet> _clinicalDataTrialSetRepository;
 | 
			
		||||
        private readonly IRepository<ReadingClinicalData> _readingClinicalDataRepository;
 | 
			
		||||
 | 
			
		||||
        public SubjectVisitCheckPassedTrigger(IRepository<Subject> subjectRepository,
 | 
			
		||||
          
 | 
			
		||||
             IRepository<ClinicalDataTrialSet> clinicalDataTrialSetRepository,
 | 
			
		||||
            IRepository<ReadingClinicalData> readingClinicalDataRepository,
 | 
			
		||||
            IVisitTaskHelpeService visitTaskHelpeService)
 | 
			
		||||
        {
 | 
			
		||||
 | 
			
		||||
            _subjectRepository = subjectRepository;
 | 
			
		||||
            _clinicalDataTrialSetRepository = clinicalDataTrialSetRepository;
 | 
			
		||||
            _readingClinicalDataRepository = readingClinicalDataRepository;
 | 
			
		||||
            this._clinicalDataTrialSetRepository = clinicalDataTrialSetRepository;
 | 
			
		||||
            _visitTaskHelpeService = visitTaskHelpeService;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -53,6 +58,39 @@ namespace IRaCIS.Core.Application.Triggers
 | 
			
		|||
                }
 | 
			
		||||
 | 
			
		||||
            }
 | 
			
		||||
            // 触发临床数据
 | 
			
		||||
            if (context.ChangeType == ChangeType.Added)
 | 
			
		||||
            {
 | 
			
		||||
                var cRCClinicalDatas = await _clinicalDataTrialSetRepository.Where(x => x.TrialId == context.Entity.TrialId && x.UploadRole == UploadRole.CRC && x.IsConfirm)
 | 
			
		||||
 | 
			
		||||
                  .Select(x => new
 | 
			
		||||
                  {
 | 
			
		||||
                      x.Id,
 | 
			
		||||
                      x.ClinicalDataLevel,
 | 
			
		||||
                  }).ToListAsync();
 | 
			
		||||
 | 
			
		||||
                List<ReadingClinicalData> readingClinicals = new List<ReadingClinicalData>();
 | 
			
		||||
                readingClinicals.AddRange(
 | 
			
		||||
 | 
			
		||||
               cRCClinicalDatas.WhereIf(context.Entity.IsBaseLine, x => x.ClinicalDataLevel == ClinicalLevel.SubjectVisit).Select(x => new ReadingClinicalData()
 | 
			
		||||
               {
 | 
			
		||||
                   ClinicalDataTrialSetId = x.Id,
 | 
			
		||||
                   IsVisit = true,
 | 
			
		||||
                   SubjectId = context.Entity.SubjectId,
 | 
			
		||||
                   ReadingId = context.Entity.Id,
 | 
			
		||||
                   TrialId = context.Entity.TrialId
 | 
			
		||||
 | 
			
		||||
               }).ToList()
 | 
			
		||||
 | 
			
		||||
               );
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
                await _readingClinicalDataRepository.AddRangeAsync(readingClinicals);
 | 
			
		||||
                await _readingClinicalDataRepository.SaveChangesAsync();
 | 
			
		||||
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
		Loading…
	
		Reference in New Issue