From 56aa39cf4dab05f3ff696b99307a34db9f32fcbf Mon Sep 17 00:00:00 2001 From: he <10978375@qq.com> Date: Tue, 14 Jun 2022 13:17:49 +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/Reading/ReadingQuestionService.cs | 67 +++++++------------ 1 file changed, 24 insertions(+), 43 deletions(-) diff --git a/IRaCIS.Core.Application/Service/Reading/ReadingQuestionService.cs b/IRaCIS.Core.Application/Service/Reading/ReadingQuestionService.cs index 154e5e21..4a99f63e 100644 --- a/IRaCIS.Core.Application/Service/Reading/ReadingQuestionService.cs +++ b/IRaCIS.Core.Application/Service/Reading/ReadingQuestionService.cs @@ -22,7 +22,7 @@ namespace IRaCIS.Application.Services public class ReadingQuestionService : BaseService { - public IRepository _subjectVisitRepository; + private readonly IRepository _subjectVisitRepository; private readonly IRepository _readingQuestionCriterionSystemRepository; private readonly IRepository _readingQuestionCriterionTrialRepository; private readonly IRepository _readingQuestionSystemRepository; @@ -32,25 +32,25 @@ namespace IRaCIS.Application.Services private readonly IRepository _dictionaryRepository; private readonly IRepository _previousPDFRepository; - public ReadingQuestionService(IRepository subjectVisitRepository, - - IRepository readingQuestionCriterionSystemRepository, - IRepository readingQuestionCriterionTrialRepository, - IRepository readingQuestionSystemRepository, - IRepository readingQuestionTrialRepository, + public ReadingQuestionService( + IRepository subjectVisitRepository, + IRepository readingQuestionCriterionSystemRepository, + IRepository readingQuestionCriterionTrialRepository, + IRepository readingQuestionSystemRepository, + IRepository readingQuestionTrialRepository, IRepository ClinicalDataTrialSetRepository, - IRepository ClinicalDataSystemSetRepository, - IRepository dictionaryRepository, + IRepository ClinicalDataSystemSetRepository, + IRepository dictionaryRepository, IRepository previousPDFRepository ) { - _subjectVisitRepository = subjectVisitRepository; + this._subjectVisitRepository = subjectVisitRepository; this._readingQuestionCriterionSystemRepository = readingQuestionCriterionSystemRepository; this._readingQuestionCriterionTrialRepository = readingQuestionCriterionTrialRepository; this._readingQuestionSystemRepository = readingQuestionSystemRepository; this._readingQuestionTrialRepository = readingQuestionTrialRepository; - _clinicalDataTrialSetRepository = ClinicalDataTrialSetRepository; - _clinicalDataSystemSetRepository = ClinicalDataSystemSetRepository; + this._clinicalDataTrialSetRepository = ClinicalDataTrialSetRepository; + this._clinicalDataSystemSetRepository = ClinicalDataSystemSetRepository; this._dictionaryRepository = dictionaryRepository; this._previousPDFRepository = previousPDFRepository; } @@ -107,17 +107,13 @@ namespace IRaCIS.Application.Services private async Task AddSystemQuestionCriterion() { var useSystemQuestionCriterionIds = _readingQuestionCriterionSystemRepository.Select(x => x.CriterionId); - var dictionaryParentId =await _dictionaryRepository.Where(x => x.Code == "ReadingStandard").Select(x => x.Id).FirstOrDefaultAsync(); - var criterionList = await _dictionaryRepository.Where(x => x.ParentId == dictionaryParentId && !useSystemQuestionCriterionIds.Contains(x.Id)) .Select(x => new CriterionList() { Id = x.Id, Value = x.Value }).ToListAsync(); - - List needAddCriterionList = new List(); criterionList.ForEach(x => { @@ -126,9 +122,7 @@ namespace IRaCIS.Application.Services CriterionId = x.Id, CriterionName = x.Value, IsEnable = false, - }); - }); await _readingQuestionCriterionSystemRepository.AddRangeAsync(needAddCriterionList); @@ -181,16 +175,16 @@ namespace IRaCIS.Application.Services /// /// 删除系统问题 /// - /// + /// /// [HttpDelete("{readingQuestionSystemId:guid}")] - public async Task DeleteReadingQuestionSystem(Guid readingQuestionSystemId) + public async Task DeleteReadingQuestionSystem(Guid id) { - if (await _readingQuestionSystemRepository.AnyAsync(x => x.ParentId == readingQuestionSystemId)) + if (await _readingQuestionSystemRepository.AnyAsync(x => x.ParentId == id)) { return ResponseOutput.NotOk("此问题存在子问题,请先删除子问题"); } - await _readingQuestionSystemRepository.DeleteFromQueryAsync(t => t.Id == readingQuestionSystemId); + await _readingQuestionSystemRepository.DeleteFromQueryAsync(t => t.Id == id); var success = await _readingQuestionSystemRepository.SaveChangesAsync(); return ResponseOutput.Result(success); } @@ -205,10 +199,8 @@ namespace IRaCIS.Application.Services var trialUsrSystemIds = _readingQuestionCriterionTrialRepository.Where(x => x.TrialId == trialId && x.ReadingQuestionCriterionSystemId != null) .Select(x => x.ReadingQuestionCriterionSystemId); var needAddSystemDataList = await _readingQuestionCriterionSystemRepository.Where(x => !trialUsrSystemIds.Contains(x.Id)&&x.IsEnable).Include(x=>x.ReadingQuestionSystemList).ToListAsync(); - List needAddCriterionList = new List(); List needAddQuestionList = new List(); - needAddSystemDataList.ForEach(x => { var criterion = new ReadingQuestionCriterionTrial() @@ -219,25 +211,14 @@ namespace IRaCIS.Application.Services TrialId = trialId, Id = NewId.NextGuid(), }; - List systemQuestionList = x.ReadingQuestionSystemList.Clone(); - List readingQuestionTrialList = new List(); - SetChildParentQuestion(criterion.Id, trialId, systemQuestionList, readingQuestionTrialList); - - needAddCriterionList.Add(criterion); - needAddQuestionList.AddRange(readingQuestionTrialList); - }); - - await _readingQuestionCriterionTrialRepository.AddRangeAsync(needAddCriterionList); - await _readingQuestionTrialRepository.AddRangeAsync(needAddQuestionList); - await _readingQuestionTrialRepository.SaveChangesAsync(); } @@ -346,12 +327,12 @@ namespace IRaCIS.Application.Services /// /// 删除项目问题标准(项目) /// - /// + /// /// - [HttpDelete("{readingQuestionCriterionTrialId:guid}")] - public async Task DeleteReadingQuestionCriterionTrial(Guid readingQuestionCriterionTrialId) + [HttpDelete("{id:guid}")] + public async Task DeleteReadingQuestionCriterionTrial(Guid id) { - await _readingQuestionCriterionTrialRepository.DeleteFromQueryAsync(t => t.Id == readingQuestionCriterionTrialId); + await _readingQuestionCriterionTrialRepository.DeleteFromQueryAsync(t => t.Id == id); var success = await _readingQuestionCriterionTrialRepository.SaveChangesAsync(); return ResponseOutput.Result(success); } @@ -389,16 +370,16 @@ namespace IRaCIS.Application.Services /// /// 删除项目问题(项目) /// - /// + /// /// [HttpDelete("{readingQuestionTrialId:guid}")] - public async Task DeleteReadingQuestionTrial(Guid readingQuestionTrialId) + public async Task DeleteReadingQuestionTrial(Guid id) { - if (await _readingQuestionTrialRepository.AnyAsync(x => x.ParentId == readingQuestionTrialId)) + if (await _readingQuestionTrialRepository.AnyAsync(x => x.ParentId == id)) { return ResponseOutput.NotOk("此问题存在子问题,请先删除子问题"); } - await _readingQuestionTrialRepository.DeleteFromQueryAsync(t => t.Id == readingQuestionTrialId); + await _readingQuestionTrialRepository.DeleteFromQueryAsync(t => t.Id == id); var success = await _readingQuestionTrialRepository.SaveChangesAsync(); return ResponseOutput.Result(success); }