From fee18e42953149f5a36851e7fdd2d120e17656e1 Mon Sep 17 00:00:00 2001 From: he <10978375@qq.com> Date: Mon, 18 Jul 2022 09:11:09 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E4=B8=80=E7=89=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Service/TrialSiteUser/DTO/TrialConfigDTO.cs | 2 ++ .../Service/TrialSiteUser/TrialConfigService.cs | 15 +++++++++++++++ 2 files changed, 17 insertions(+) diff --git a/IRaCIS.Core.Application/Service/TrialSiteUser/DTO/TrialConfigDTO.cs b/IRaCIS.Core.Application/Service/TrialSiteUser/DTO/TrialConfigDTO.cs index 90070bc88..e96d43145 100644 --- a/IRaCIS.Core.Application/Service/TrialSiteUser/DTO/TrialConfigDTO.cs +++ b/IRaCIS.Core.Application/Service/TrialSiteUser/DTO/TrialConfigDTO.cs @@ -654,6 +654,8 @@ namespace IRaCIS.Core.Application.Contracts /// 修约小数点 /// public int? DigitPlaces { get; set; } + + public bool IsSignSave { get; set; } = false; } public class SetTrialReadingInfoInDto diff --git a/IRaCIS.Core.Application/Service/TrialSiteUser/TrialConfigService.cs b/IRaCIS.Core.Application/Service/TrialSiteUser/TrialConfigService.cs index ca6c1c1d0..225999068 100644 --- a/IRaCIS.Core.Application/Service/TrialSiteUser/TrialConfigService.cs +++ b/IRaCIS.Core.Application/Service/TrialSiteUser/TrialConfigService.cs @@ -161,6 +161,21 @@ namespace IRaCIS.Core.Application /// public async Task SetTrialReadingCriterion(SetTrialReadingCriterionInDto inDto) { + + if (inDto.IsSignSave) + { + var criterionFormType = await _readingQuestionCriterionTrialRepository.Where(x => x.Id == inDto.TrialCriterionId).Select(x => x.FormType).FirstOrDefaultAsync(); + var count = _readingQuestionTrialRepository.Where(x => x.ReadingQuestionCriterionTrialId == inDto.TrialCriterionId) + .WhereIf(criterionFormType == FormType.SinglePage, x => x.ReadingCriterionPageId == null) + .WhereIf(criterionFormType == FormType.MultiplePage, x => x.ReadingCriterionPageId != null).Count(); + + if (count == 0) + { + throw new BusinessValidationFailedException("当前标准下未配置问题"); + } + } + + await _readingQuestionCriterionTrialRepository.UpdatePartialFromQueryAsync(inDto.TrialCriterionId, x => new ReadingQuestionCriterionTrial() {