diff --git a/IRaCIS.Core.Application/Service/Reading/ClinicalData/ClinicalAnswerService.cs b/IRaCIS.Core.Application/Service/Reading/ClinicalData/ClinicalAnswerService.cs index 52d3f7a1f..448292134 100644 --- a/IRaCIS.Core.Application/Service/Reading/ClinicalData/ClinicalAnswerService.cs +++ b/IRaCIS.Core.Application/Service/Reading/ClinicalData/ClinicalAnswerService.cs @@ -187,23 +187,26 @@ namespace IRaCIS.Core.Application.Service public async Task SubmitClinicalForm(SubmitClinicalFormInDto inDto) { - var checkDateQuestionId = await _trialClinicalQuestionRepository.Where(x => x.TrialClinicalId == inDto.ClinicalDataTrialSetId && x.IsCheckDate).Select(x => x.Id).FirstNotNullAsync(); + + ClinicalForm clinicalForm = new ClinicalForm() { }; - try + clinicalForm = new ClinicalForm() + { + ClinicalDataTrialSetId = inDto.ClinicalDataTrialSetId, + SubjectId = inDto.SubjectId, + Id = inDto.ClinicalFormId ?? NewId.NextGuid(), + ReadingId = inDto.ReadingId, + VisitId = inDto.VisitId, + }; + try { - clinicalForm = new ClinicalForm() - { - ClinicalDataTrialSetId = inDto.ClinicalDataTrialSetId, - SubjectId = inDto.SubjectId, - Id = inDto.ClinicalFormId ?? NewId.NextGuid(), - ReadingId=inDto.ReadingId, - VisitId=inDto.VisitId, - CheckDate = DateTime.Parse(inDto.QuestionAnswers.Where(x => x.QuestionId == checkDateQuestionId).Select(x => x.Answer).First()), - }; - } - catch (Exception) + var checkDateQuestionId = await _trialClinicalQuestionRepository.Where(x => x.TrialClinicalId == inDto.ClinicalDataTrialSetId && x.IsCheckDate).Select(x => x.Id).FirstNotNullAsync(); + clinicalForm.CheckDate = DateTime.Parse(inDto.QuestionAnswers.Where(x => x.QuestionId == checkDateQuestionId).Select(x => x.Answer).First()); + + } + catch () { - throw new BusinessValidationFailedException("检查日期问题答案填写错误!"); + } List clinicalQuestionAnswers = inDto.QuestionAnswers.Select(x => new ClinicalQuestionAnswer()