diff --git a/IRaCIS.Core.Application/Service/Reading/ClinicalData/ReadingClinicalDataService.cs b/IRaCIS.Core.Application/Service/Reading/ClinicalData/ReadingClinicalDataService.cs index c52642b9f..5ca7dd75c 100644 --- a/IRaCIS.Core.Application/Service/Reading/ClinicalData/ReadingClinicalDataService.cs +++ b/IRaCIS.Core.Application/Service/Reading/ClinicalData/ReadingClinicalDataService.cs @@ -19,6 +19,7 @@ namespace IRaCIS.Application.Services private readonly IRepository _clinicalDataTrialSetRepository; private readonly IRepository _visitTaskRepository; private readonly IRepository _previousPDFRepository; + private readonly IRepository _subjectVisitRepository; private readonly IRepository _previousHistoryRepository; private readonly IRepository _previousOtherRepository; @@ -34,6 +35,7 @@ namespace IRaCIS.Application.Services IRepository previousPDFRepository, IRepository subjectVisitRepository, IRepository previousHistoryRepository, + IRepository previousOtherRepository, IRepository previousSurgeryRepository, IRepository readingQuestionCriterionTrialRepository, @@ -311,6 +313,10 @@ namespace IRaCIS.Application.Services keyValuePairs.Add(ModuleTypeEnum.Global, ClinicalLevel.ImageRead); keyValuePairs.Add(ModuleTypeEnum.Oncology, ClinicalLevel.OncologyRead); + + var criterion = _readingQuestionCriterionTrialRepository.Where(x => x.Id == inDto.TrialReadingCriterionId).FirstOrDefault(); + + var usedIdsQuery = _readingClinicalDataRepository.Where(x => x.ReadingId == inDto.ReadingId && x.Id != inDto.ReadingClinicalDataId).Select(x => x.ClinicalDataTrialSetId); List clinicalList = await _clinicalDataTrialSetRepository.Where(x => x.TrialId == inDto.TrialId && x.IsConfirm) @@ -323,6 +329,7 @@ namespace IRaCIS.Application.Services .WhereIf(inDto.IsVisit && !inDto.IsBaseLine, x => x.ClinicalDataLevel == ClinicalLevel.SubjectVisit) .WhereIf(!inDto.IsVisit, x => x.ClinicalDataLevel == ClinicalLevel.ImageRead || x.ClinicalDataLevel == ClinicalLevel.OncologyRead) .WhereIf(readModule != null, x => x.ClinicalDataLevel == keyValuePairs[readModule.ModuleType]) + .WhereIf(criterion!=null,x=>x.CriterionEnumList.Contains((int)criterion.CriterionType)) .Select(x => new GetTrialClinicalDataSelectOutDto() { ClinicalDataLevel = x.ClinicalDataLevel, diff --git a/IRaCIS.Core.Application/Service/Reading/ReadingPeriod/ReadModuleService.cs b/IRaCIS.Core.Application/Service/Reading/ReadingPeriod/ReadModuleService.cs index e5836e1df..7d2b4af1a 100644 --- a/IRaCIS.Core.Application/Service/Reading/ReadingPeriod/ReadModuleService.cs +++ b/IRaCIS.Core.Application/Service/Reading/ReadingPeriod/ReadModuleService.cs @@ -240,7 +240,7 @@ namespace IRaCIS.Application.Services SubjectVisitId = x.Id, VisitName = x.VisitName, VisitNum = x.VisitNum, - }).ToListAsync(); + }).OrderBy(x=>x.VisitNum).ToListAsync(); return resultlist; }