From c42c26d76ad0aef8bcf219908d2ea054a7c33b17 Mon Sep 17 00:00:00 2001 From: he <109787524@qq.com> Date: Sun, 7 Apr 2024 14:54:41 +0800 Subject: [PATCH] =?UTF-8?q?=E4=B8=B4=E5=BA=8A=E6=95=B0=E6=8D=AE=E4=B8=8D?= =?UTF-8?q?=E5=AE=8C=E5=A4=87=E6=8F=90=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Service/TrialSiteUser/TrialConfigService.cs | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/IRaCIS.Core.Application/Service/TrialSiteUser/TrialConfigService.cs b/IRaCIS.Core.Application/Service/TrialSiteUser/TrialConfigService.cs index fb75f93ac..a1b3bbd29 100644 --- a/IRaCIS.Core.Application/Service/TrialSiteUser/TrialConfigService.cs +++ b/IRaCIS.Core.Application/Service/TrialSiteUser/TrialConfigService.cs @@ -965,8 +965,16 @@ namespace IRaCIS.Core.Application return ResponseOutput.NotOk(_localizer["TrialConfig_ProjectNotInitialized"]); } + var clinicalDataTrialSetDataList = await _clinicalDataTrialSetRepository.Where(x => trialConfig.ClinicalDataTrialSetIds.Contains(x.Id)).Include(x => x.TrialClinicalDataSetCriteriaList).ToListAsync(); + foreach (var item in clinicalDataTrialSetDataList) + { + var clinicalids = item.TrialClinicalDataSetCriteriaList.Select(x => x.TrialReadingCriterionId).ToList(); + if (clinicalids.Intersect(trialConfig.TrialCriterionIds).ToList().Count() == 0) + { + throw new BusinessValidationFailedException(_localizer["TrialConfig_NoCriteriaClinicalData"]); + } - + } var trialInfo = await _trialRepository.Where(t => t.Id == trialConfig.TrialId, true).Include(t => t.TrialDicList.Where(u => u.KeyName == StaticData.Criterion)).FirstOrDefaultAsync(); if (trialInfo == null) return Null404NotFound(trialInfo);