diff --git a/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingImageTaskService.cs b/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingImageTaskService.cs index 88e5c54d6..6e1065bc5 100644 --- a/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingImageTaskService.cs +++ b/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingImageTaskService.cs @@ -52,6 +52,7 @@ namespace IRaCIS.Core.Application.Service IRepository _readModuleRepository, IRepository _dicomInstanceRepository, IRepository _organInfoRepository, + IRepository _organTrialInfoRepository, IRepository _trialDocumentRepository, ILuganoCalculateService _luganoCalculateService, IRepository _readingCustomTagRepository, @@ -2391,6 +2392,22 @@ namespace IRaCIS.Core.Application.Service + break; + + case CriterionType.mRECISTHCC: + + var orginInfo=await _organTrialInfoRepository.Where(x =>x.TrialCriterionId== taskinfo.TrialReadingCriterionId&& x.OrganInfoId == inDto.OrganInfoId).FirstOrDefaultAsync(); + + if (orginInfo != null && orginInfo.TULOCEN == "Liver") + { + var otherorganCount=await _readingTableAnswerRowInfoRepository.Where(x => x.VisitTaskId == inDto.VisitTaskId && x.QuestionId == inDto.QuestionId && x.Id!=inDto.Id&&x.OrganInfo.TULOCEN == "Liver").CountAsync(); + if (otherorganCount >=2) + { + throw new BusinessValidationFailedException(_localizer["ReadingImageTask_HCCOrganRepeat"]); + } + + } + break; } var questionInfo = await _readingQuestionTrialRepository.Where(x => x.Id == inDto.QuestionId).FirstNotNullAsync();