IRC_NewDev
he 2024-03-26 15:13:13 +08:00
parent ce8e0e3972
commit 5c53e78aca
1 changed files with 7 additions and 2 deletions

View File

@ -275,14 +275,19 @@ namespace IRaCIS.Application.Services
{ {
await this.AddTrialClinicalDataTrialSet(inDto.TrialId); await this.AddTrialClinicalDataTrialSet(inDto.TrialId);
List<int> criterionTypes = new List<int>(); List<int> criterionTypes = new List<int>();
if (inDto.CriterionIds != null) var query = _clinicalDataTrialSetRepository.AsQueryable()
.Where(x => x.TrialId == inDto.TrialId);
if (inDto.CriterionIds != null)
{ {
criterionTypes =( await _iReadingQuestionCriterionTrialRepository.Where(x => inDto.CriterionIds.Contains(x.Id)).Select(x => x.CriterionType).ToListAsync()) criterionTypes =( await _iReadingQuestionCriterionTrialRepository.Where(x => inDto.CriterionIds.Contains(x.Id)).Select(x => x.CriterionType).ToListAsync())
.Select(x=>(int)x).ToList(); .Select(x=>(int)x).ToList();
} }
var trialClinicalDataList = await _clinicalDataTrialSetRepository.AsQueryable() var trialClinicalDataList = await _clinicalDataTrialSetRepository.AsQueryable()
.Where(x => x.TrialId == inDto.TrialId) .Where(x => x.TrialId == inDto.TrialId)
.WhereIf(inDto.CriterionIds != null,x=>x.IsConfirm||x.SystemClinicalDataSetId==null|| criterionTypes.Intersect(x.CriterionEnumList).Count()>0) .WhereIf(inDto.CriterionIds != null,x=>x.IsConfirm||x.SystemClinicalDataSetId==null|| criterionTypes.Any(d => x.CriterionEnumList.Contains(d)))
.WhereIf(inDto.ClinicalDataLevel != null, x => x.ClinicalDataLevel == inDto.ClinicalDataLevel) .WhereIf(inDto.ClinicalDataLevel != null, x => x.ClinicalDataLevel == inDto.ClinicalDataLevel)
.WhereIf(inDto.ClinicalUploadType != null, x => x.ClinicalUploadType == inDto.ClinicalUploadType) .WhereIf(inDto.ClinicalUploadType != null, x => x.ClinicalUploadType == inDto.ClinicalUploadType)
.WhereIf(inDto.ClinicalDataSetName != String.Empty, x => x.ClinicalDataSetName.Contains(inDto.ClinicalDataSetName)) .WhereIf(inDto.ClinicalDataSetName != String.Empty, x => x.ClinicalDataSetName.Contains(inDto.ClinicalDataSetName))