diff --git a/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingGlobalTaskService.cs b/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingGlobalTaskService.cs index 5759c9ced..9c7371891 100644 --- a/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingGlobalTaskService.cs +++ b/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingGlobalTaskService.cs @@ -34,6 +34,23 @@ namespace IRaCIS.Application.Services await VerifyTaskIsSign(inDto.GlobalTaskId); await this.SubmitTaskChangeState(inDto.GlobalTaskId); + var globalAnswerList = await _readingGlobalTaskInfoRepository.Where(x => + x.QuestionId!=null &&x.Answer!=string.Empty&& x.Answer != null && + x.GlobalTaskId == inDto.GlobalTaskId).ToListAsync(); + + foreach (var item in globalAnswerList) + { + await _readingTaskQuestionAnswerRepository.BatchUpdateNoTrackingAsync(x => x.VisitTaskId == item.TaskId && x.ReadingQuestionTrialId == item.QuestionId + && x.Answer != item.Answer + , x => new ReadingTaskQuestionAnswer() + { + GlobalChangeAnswer = item.Answer, + IsGlobalChange = true, + }); + } + + await _readingTaskQuestionAnswerRepository.SaveChangesAsync(); + return ResponseOutput.Ok(true); } @@ -60,24 +77,15 @@ namespace IRaCIS.Application.Services if (criterionType == CriterionType.PCWG3) { await _readingTaskQuestionAnswerRepository.BatchUpdateNoTrackingAsync(x => x.VisitTaskId == item.VisitTaskId && x.ReadingQuestionTrialId == answer.QuestionId - && x.Answer != answer.Answer && answer.Answer != string.Empty && answer.Answer != null - , x => new ReadingTaskQuestionAnswer() - { + && x.Answer != answer.Answer && answer.Answer != string.Empty && answer.Answer != null + , x => new ReadingTaskQuestionAnswer() + { Answer= answer.Answer, GlobalChangeAnswer = answer.Answer, IsGlobalChange = true, - }); - } - else - { - await _readingTaskQuestionAnswerRepository.BatchUpdateNoTrackingAsync(x => x.VisitTaskId == item.VisitTaskId && x.ReadingQuestionTrialId == answer.QuestionId - && x.Answer != answer.Answer && answer.Answer != string.Empty && answer.Answer != null - , x => new ReadingTaskQuestionAnswer() - { - GlobalChangeAnswer = answer.Answer, - IsGlobalChange = true, - }); + }); } + } }