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());