diff --git a/IRaCIS.Core.Application/Service/Reading/ClinicalData/ClinicalDataSetService.cs b/IRaCIS.Core.Application/Service/Reading/ClinicalData/ClinicalDataSetService.cs index 45ef36335..46cb75ca5 100644 --- a/IRaCIS.Core.Application/Service/Reading/ClinicalData/ClinicalDataSetService.cs +++ b/IRaCIS.Core.Application/Service/Reading/ClinicalData/ClinicalDataSetService.cs @@ -275,14 +275,19 @@ namespace IRaCIS.Application.Services { await this.AddTrialClinicalDataTrialSet(inDto.TrialId); List criterionTypes = new List(); - 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()) .Select(x=>(int)x).ToList(); + + } var trialClinicalDataList = await _clinicalDataTrialSetRepository.AsQueryable() .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.ClinicalUploadType != null, x => x.ClinicalUploadType == inDto.ClinicalUploadType) .WhereIf(inDto.ClinicalDataSetName != String.Empty, x => x.ClinicalDataSetName.Contains(inDto.ClinicalDataSetName))