From 8a002bbd1282728816b30bd01c200501a548aeca Mon Sep 17 00:00:00 2001 From: he <10978375@qq.com> Date: Fri, 1 Jul 2022 09:27:16 +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 --- .../Reading/ReadingMedicineQuestionService.cs | 30 ++++++++++++++----- 1 file changed, 23 insertions(+), 7 deletions(-) diff --git a/IRaCIS.Core.Application/Service/Reading/ReadingMedicineQuestionService.cs b/IRaCIS.Core.Application/Service/Reading/ReadingMedicineQuestionService.cs index 0eb3e688f..2fca14b75 100644 --- a/IRaCIS.Core.Application/Service/Reading/ReadingMedicineQuestionService.cs +++ b/IRaCIS.Core.Application/Service/Reading/ReadingMedicineQuestionService.cs @@ -52,12 +52,20 @@ namespace IRaCIS.Core.Application.Service /// /// 新增或修改系统医学审核问题 /// - /// + /// /// [HttpPost] - public async Task AddOrUpdateReadingMedicineSystemQuestion(ReadingMedicineSystemQuestionAddOrEdit addOrEditReadingMedicineSystemQuestion) + public async Task AddOrUpdateReadingMedicineSystemQuestion(ReadingMedicineSystemQuestionAddOrEdit inDto) { - var entity = await _readingMedicineSystemQuestionRepository.InsertOrUpdateAsync(addOrEditReadingMedicineSystemQuestion); + var existsQuery = _readingMedicineSystemQuestionRepository + .WhereIf(inDto.Id != null, x => x.Id != inDto.Id) + .Where(x => x.QuestionName == inDto.QuestionName ||x.ShowOrder == inDto.ShowOrder); + + if (await existsQuery.AnyAsync()) + { + return ResponseOutput.NotOk("当前问题名称或序号存在重复"); + } + var entity = await _readingMedicineSystemQuestionRepository.InsertOrUpdateAsync(inDto); await _readingMedicineSystemQuestionRepository.SaveChangesAsync(); return ResponseOutput.Ok(entity.Id.ToString()); } @@ -116,7 +124,7 @@ namespace IRaCIS.Core.Application.Service public async Task> GetMedicineQuestionPreview(GetMedicineQuestionPreviewInDto inDto) { var trialQuestionList = await _readingMedicineTrialQuestionRepository.Where(x=>x.TrialId==inDto.TrialId) - .ProjectTo(_mapper.ConfigurationProvider).ToListAsync(); + .ProjectTo(_mapper.ConfigurationProvider).OrderBy(x=>x.ShowOrder).ToListAsync(); List readingQuestionList = trialQuestionList.Where(x => x.ParentId == null).ToList(); readingQuestionList.ForEach(x => @@ -142,12 +150,20 @@ namespace IRaCIS.Core.Application.Service /// /// 新增或修改项目医学审核问题 /// - /// + /// /// [HttpPost] - public async Task AddOrUpdateReadingMedicineTrialQuestion(ReadingMedicineTrialQuestionAddOrEdit addOrEditReadingMedicineTrialQuestion) + public async Task AddOrUpdateReadingMedicineTrialQuestion(ReadingMedicineTrialQuestionAddOrEdit inDto) { - var entity = await _readingMedicineTrialQuestionRepository.InsertOrUpdateAsync(addOrEditReadingMedicineTrialQuestion); + var existsQuery = _readingMedicineSystemQuestionRepository + .WhereIf(inDto.Id != null, x => x.Id != inDto.Id) + .Where(x => x.QuestionName == inDto.QuestionName || x.ShowOrder == inDto.ShowOrder); + + if (await existsQuery.AnyAsync()) + { + return ResponseOutput.NotOk("当前问题名称或序号存在重复"); + } + var entity = await _readingMedicineTrialQuestionRepository.InsertOrUpdateAsync(inDto); await _readingMedicineTrialQuestionRepository.SaveChangesAsync(); return ResponseOutput.Ok(entity.Id.ToString());