Uat_Study
he 2023-01-06 09:38:16 +08:00
parent f8720f9c1d
commit 0cd9d1867c
1 changed files with 29 additions and 3 deletions

View File

@ -135,6 +135,10 @@ namespace IRaCIS.Application.Services
var questionAnswerList = await _readingTaskQuestionAnswerRepository.Where(x => x.VisitTaskId == inDto.VisitTaskId).ToListAsync(); var questionAnswerList = await _readingTaskQuestionAnswerRepository.Where(x => x.VisitTaskId == inDto.VisitTaskId).ToListAsync();
var tableQuestionAnswerList= await _readingTableQuestionAnswerRepository.Where(x => x.VisitTaskId == inDto.VisitTaskId).ToListAsync();
var rowInfoList = await _readingTableAnswerRowInfoRepository.Where(x => x.VisitTaskId == inDto.VisitTaskId).ToListAsync();
foreach (var item in inDto.QuestionAnswer) foreach (var item in inDto.QuestionAnswer)
{ {
@ -162,10 +166,32 @@ namespace IRaCIS.Application.Services
foreach (var item in inDto.TableQuestionAnswer) foreach (var item in inDto.TableQuestionAnswer)
{ {
await _readingTableQuestionAnswerRepository.UpdatePartialFromQueryAsync(x => x.VisitTaskId == inDto.VisitTaskId && x.RowId == item.RowId&&x.TableQuestionId==item.TableQuestionId, x => new ReadingTableQuestionAnswer()
if (tableQuestionAnswerList.Any(x => x.QuestionId == item.QuestionId&&x.RowId==item.RowId&&x.TableQuestionId==item.TableQuestionId))
{ {
Answer = item.Answer, await _readingTableQuestionAnswerRepository.UpdatePartialFromQueryAsync(x => x.VisitTaskId == inDto.VisitTaskId && x.RowId == item.RowId && x.TableQuestionId == item.TableQuestionId, x => new ReadingTableQuestionAnswer()
}); {
Answer = item.Answer,
});
}
else
{
var rowInfo = rowInfoList.Where(x => x.Id == item.RowId).FirstOrDefault()??new ReadingTableAnswerRowInfo ();
await _readingTableQuestionAnswerRepository.AddAsync(new ReadingTableQuestionAnswer()
{
Answer = item.Answer,
QuestionId=item.QuestionId,
TableQuestionId=item.TableQuestionId,
RowIndex= rowInfo.RowIndex,
RowId=rowInfo.Id,
VisitTaskId = inDto.VisitTaskId,
TrialId = visitTask.TrialId
});
}
} }
await _readingTableQuestionAnswerRepository.SaveChangesAsync(); await _readingTableQuestionAnswerRepository.SaveChangesAsync();