diff --git a/IRaCIS.Core.Application/Service/Reading/ClinicalData/ClinicalDataSetService.cs b/IRaCIS.Core.Application/Service/Reading/ClinicalData/ClinicalDataSetService.cs index 2442f025b..d9fef6059 100644 --- a/IRaCIS.Core.Application/Service/Reading/ClinicalData/ClinicalDataSetService.cs +++ b/IRaCIS.Core.Application/Service/Reading/ClinicalData/ClinicalDataSetService.cs @@ -277,17 +277,15 @@ namespace IRaCIS.Application.Services public async Task> GetTrialClinicalDataTrialSetList(GetTrialClinicalDataTrialIndto inDto) { await this.AddTrialClinicalDataTrialSet(inDto.TrialId); - List criterionTypes = new List(); Expression> predicate = null; if (inDto.CriterionIds != null) { - criterionTypes =( await _iReadingQuestionCriterionTrialRepository.Where(x => inDto.CriterionIds.Contains(x.Id)).Select(x => x.CriterionType).ToListAsync()) - .Select(x=>((int)x).ToString()).ToList(); + predicate = x => x.IsConfirm || x.SystemClinicalDataSetId == null; - foreach (var item in criterionTypes) + foreach (var item in inDto.CriterionIds) { - Expression> typeExpression = x => x.CriterionEnumListStr.Contains(item); + Expression> typeExpression = x => x.TrialClinicalDataSetCriteriaList.Any(x=>x.TrialReadingCriterionId== item); predicate = predicate.Or(typeExpression); }