Merge branch 'Test_IRC_Net8' of http://192.168.3.68:2000/XCKJ/irc-netcore-api into Test_IRC_Net8

IRC_NewDev
hang 2024-03-19 08:58:46 +08:00
commit 3efc173056
6 changed files with 100 additions and 44 deletions

View File

@ -1649,10 +1649,14 @@ namespace IRaCIS.Application.Services
{
case CriterionType.Lugano2014:
query = query.Where(x => x.MeasureData == string.Empty ||
// (无法评估 或者 状态为消失的非靶病灶) 并且不能是无法评估的病灶
query = query.Where(x =>
(x.MeasureData == string.Empty ||
(x.LesionAnswerList.Any(y => y.ReadingTableQuestionTrial.QuestionMark == QuestionMark.State && y.Answer == TargetState.Loss.GetEnumInt()) &&
x.LesionAnswerList.Any(y => y.ReadingTableQuestionTrial.QuestionMark == QuestionMark.IsLymph && y.Answer == ReadingYesOrNo.No.GetEnumInt())
));
)&& !x.LesionAnswerList.Any(y => y.ReadingTableQuestionTrial.QuestionMark == QuestionMark.State && y.Answer == TargetState.UnableEvaluate.GetEnumInt()))
);
break;

View File

@ -26,7 +26,8 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
private readonly IRepository<ReadingTableAnswerRowInfo> _readingTableAnswerRowInfoRepository;
private readonly IRepository<ReadingQuestionTrial> _readingQuestionTrialRepository;
private readonly IRepository<OrganInfo> _organInfoRepository;
private readonly IRepository<SubjectVisit> _subjectVisitRepository;
private readonly IRepository<ReadingGlobalTaskInfo> _readingGlobalTaskInfoRepository;
private readonly IRepository<SubjectVisit> _subjectVisitRepository;
private readonly IRepository<TumorAssessment_IRECIST1Point1> _tumorAssessmentRepository;
private readonly IGeneralCalculateService _generalCalculateService;
private readonly IRepository<ReadingTaskQuestionAnswer> _readingTaskQuestionAnswerRepository;
@ -42,7 +43,8 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
IRepository<ReadingTableAnswerRowInfo> readingTableAnswerRowInfoRepository,
IRepository<ReadingQuestionTrial> readingQuestionTrialRepository,
IRepository<OrganInfo> organInfoRepository,
IRepository<SubjectVisit> subjectVisitRepository,
IRepository<ReadingGlobalTaskInfo> readingGlobalTaskInfoRepository,
IRepository<SubjectVisit> subjectVisitRepository,
IRepository<TumorAssessment_IRECIST1Point1> tumorAssessmentRepository,
IGeneralCalculateService generalCalculateService,
ILogger<IRECIST1Point1CalculateService> logger,
@ -56,7 +58,8 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
this._readingTableAnswerRowInfoRepository = readingTableAnswerRowInfoRepository;
this._readingQuestionTrialRepository = readingQuestionTrialRepository;
this._organInfoRepository = organInfoRepository;
this._subjectVisitRepository = subjectVisitRepository;
this._readingGlobalTaskInfoRepository = readingGlobalTaskInfoRepository;
this._subjectVisitRepository = subjectVisitRepository;
this._tumorAssessmentRepository = tumorAssessmentRepository;
this._generalCalculateService = generalCalculateService;
this._readingTaskQuestionAnswerRepository = readingTaskQuestionAnswerRepository;
@ -174,8 +177,14 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
var answers = await _readingTaskQuestionAnswerRepository.Where(x => visitTaskIds.Contains(x.VisitTaskId)).ToListAsync();
var tableAnswers = await _readingTableQuestionAnswerRepository.Where(x => visitTaskIds.Contains(x.VisitTaskId)).ToListAsync();
var alltableAnsweRowInfos = await _readingTableAnswerRowInfoRepository.Where(x => visitTaskIds.Contains(x.VisitTaskId)).ToListAsync();
var globalanswerList = await _readingGlobalTaskInfoRepository.Where(x => visitTaskIds.Contains(x.TaskId) && x.GlobalVisitTask.TaskState == TaskState.Effect && x.Answer != string.Empty).Select(x => new
{
x.TaskId,
x.GlobalVisitTask.VisitTaskNum,
x.QuestionId,
x.Answer
}).ToListAsync();
var alltableAnsweRowInfos = await _readingTableAnswerRowInfoRepository.Where(x => visitTaskIds.Contains(x.VisitTaskId)).ToListAsync();
var organIds = alltableAnsweRowInfos.Where(x => x.OrganInfoId != null).Select(x => x.OrganInfoId).Distinct().ToList();
var organInfos = await _organInfoRepository.Where(x => organIds.Contains(x.Id)).ToListAsync();
@ -241,14 +250,15 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
foreach (var task in taskInfoList)
{
var globalAnswer = globalanswerList.Where(x => x.TaskId == task.VisitTaskId && x.QuestionId == question.QuestionId).OrderByDescending(x => x.VisitTaskNum).FirstOrDefault();
var answer = answers.Where(x => x.VisitTaskId == task.VisitTaskId && x.ReadingQuestionTrialId == question.QuestionId).FirstOrDefault();
var answer = answers.Where(x => x.VisitTaskId == task.VisitTaskId && x.ReadingQuestionTrialId == question.QuestionId).FirstOrDefault();
question.Answer.Add(new TaskQuestionAnswer()
{
Answer = answer==null?string.Empty:answer.Answer,
IsGlobalChange = answer == null ? false : answer.IsGlobalChange,
GlobalChangeAnswer = answer == null ? string.Empty : answer.GlobalChangeAnswer,
TaskName = task.TaskName,
IsGlobalChange = globalAnswer == null ? false : true,
GlobalChangeAnswer = globalAnswer == null ? string.Empty : globalAnswer.Answer,
TaskName = task.TaskName,
VisitTaskId = task.VisitTaskId,
});

View File

@ -30,7 +30,8 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
private readonly IRepository<ReadingTableQuestionTrial> _readingTableQuestionTrialRepository;
private readonly IRepository<ReadingTaskQuestionMark> _readingTaskQuestionMarkRepository;
private readonly IRepository<ReadingTableAnswerRowInfo> _readingTableAnswerRowInfoRepository;
private readonly IRepository<ReadingQuestionTrial> _readingQuestionTrialRepository;
private readonly IRepository<ReadingGlobalTaskInfo> _readingGlobalTaskInfoRepository;
private readonly IRepository<ReadingQuestionTrial> _readingQuestionTrialRepository;
private readonly IRepository<OrganInfo> _organInfoRepository;
private readonly IRepository<SubjectVisit> _subjectVisitRepository;
private readonly IRepository<DicomStudy> _dicomStudyRepository;
@ -46,7 +47,8 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
IRepository<ReadingTableQuestionTrial> readingTableQuestionTrialRepository,
IRepository<ReadingTaskQuestionMark> readingTaskQuestionMarkRepository,
IRepository<ReadingTableAnswerRowInfo> readingTableAnswerRowInfoRepository,
IRepository<ReadingQuestionTrial> readingQuestionTrialRepository,
IRepository<ReadingGlobalTaskInfo> readingGlobalTaskInfoRepository,
IRepository<ReadingQuestionTrial> readingQuestionTrialRepository,
IRepository<OrganInfo> organInfoRepository,
IRepository<SubjectVisit> subjectVisitRepository,
IRepository<DicomStudy> dicomStudyRepository,
@ -62,7 +64,8 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
this._readingTableQuestionTrialRepository = readingTableQuestionTrialRepository;
this._readingTaskQuestionMarkRepository = readingTaskQuestionMarkRepository;
this._readingTableAnswerRowInfoRepository = readingTableAnswerRowInfoRepository;
this._readingQuestionTrialRepository = readingQuestionTrialRepository;
this._readingGlobalTaskInfoRepository = readingGlobalTaskInfoRepository;
this._readingQuestionTrialRepository = readingQuestionTrialRepository;
this._organInfoRepository = organInfoRepository;
this._subjectVisitRepository = subjectVisitRepository;
this._dicomStudyRepository = dicomStudyRepository;
@ -160,7 +163,15 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
var answers = await _readingTaskQuestionAnswerRepository.Where(x => visitTaskIds.Contains(x.VisitTaskId)).ToListAsync();
var tableAnswers = await _readingTableQuestionAnswerRepository.Where(x => visitTaskIds.Contains(x.VisitTaskId)).ToListAsync();
var alltableAnsweRowInfos = await _readingTableAnswerRowInfoRepository.Where(x => visitTaskIds.Contains(x.VisitTaskId)).ToListAsync();
var globalanswerList = await _readingGlobalTaskInfoRepository.Where(x => visitTaskIds.Contains(x.TaskId)&&x.GlobalVisitTask.TaskState== TaskState.Effect&&x.Answer!=string.Empty).Select(x => new
{
x.TaskId,
x.GlobalVisitTask.VisitTaskNum,
x.QuestionId,
x.Answer
}).ToListAsync();
var alltableAnsweRowInfos = await _readingTableAnswerRowInfoRepository.Where(x => visitTaskIds.Contains(x.VisitTaskId)).ToListAsync();
var organIds = alltableAnsweRowInfos.Where(x => x.OrganInfoId != null).Select(x => x.OrganInfoId).Distinct().ToList();
var organInfos = await _organInfoRepository.Where(x => organIds.Contains(x.Id)).ToListAsync();
@ -227,12 +238,13 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
foreach (var task in taskInfoList)
{
var globalAnswer = globalanswerList.Where(x => x.TaskId == task.VisitTaskId && x.QuestionId == question.QuestionId).OrderByDescending(x => x.VisitTaskNum).FirstOrDefault();
var answer = answers.Where(x => x.VisitTaskId == task.VisitTaskId && x.ReadingQuestionTrialId == question.QuestionId).FirstOrDefault();
question.Answer.Add(new TaskQuestionAnswer()
{
Answer = answer == null ? string.Empty : answer.Answer,
IsGlobalChange = answer == null ? false : answer.IsGlobalChange,
GlobalChangeAnswer = answer == null ? string.Empty : answer.GlobalChangeAnswer,
IsGlobalChange = globalAnswer == null ? false : true,
GlobalChangeAnswer = globalAnswer == null ? string.Empty : globalAnswer.Answer,
TaskName = task.TaskName,
VisitTaskId = task.VisitTaskId,

View File

@ -23,7 +23,8 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
private readonly IRepository<ReadingTableQuestionTrial> _readingTableQuestionTrialRepository;
private readonly IRepository<ReadingTableAnswerRowInfo> _readingTableAnswerRowInfoRepository;
private readonly IRepository<ReadingQuestionTrial> _readingQuestionTrialRepository;
private readonly IRepository<OrganInfo> _organInfoRepository;
private readonly IRepository<ReadingGlobalTaskInfo> _readingGlobalTaskInfoRepository;
private readonly IRepository<OrganInfo> _organInfoRepository;
private readonly IRepository<SubjectVisit> _subjectVisitRepository;
private readonly IRepository<TumorAssessment_RECIST1Point1> _tumorAssessmentRepository;
private readonly IGeneralCalculateService _generalCalculateService;
@ -36,7 +37,8 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
IRepository<ReadingTableQuestionTrial> readingTableQuestionTrialRepository,
IRepository<ReadingTableAnswerRowInfo> readingTableAnswerRowInfoRepository,
IRepository<ReadingQuestionTrial> readingQuestionTrialRepository,
IRepository<OrganInfo> organInfoRepository,
IRepository<ReadingGlobalTaskInfo> readingGlobalTaskInfoRepository,
IRepository<OrganInfo> organInfoRepository,
IRepository<SubjectVisit> subjectVisitRepository,
IRepository<TumorAssessment_RECIST1Point1> tumorAssessmentRepository,
IGeneralCalculateService generalCalculateService,
@ -49,7 +51,8 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
this._readingTableQuestionTrialRepository = readingTableQuestionTrialRepository;
this._readingTableAnswerRowInfoRepository = readingTableAnswerRowInfoRepository;
this._readingQuestionTrialRepository = readingQuestionTrialRepository;
this._organInfoRepository = organInfoRepository;
this._readingGlobalTaskInfoRepository = readingGlobalTaskInfoRepository;
this._organInfoRepository = organInfoRepository;
this._subjectVisitRepository = subjectVisitRepository;
this._tumorAssessmentRepository = tumorAssessmentRepository;
this._generalCalculateService = generalCalculateService;
@ -128,8 +131,14 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
}).ToList();
var answers = await _readingTaskQuestionAnswerRepository.Where(x => visitTaskIds.Contains(x.VisitTaskId)).ToListAsync();
var tableAnswers = await _readingTableQuestionAnswerRepository.Where(x => visitTaskIds.Contains(x.VisitTaskId)).ToListAsync();
var alltableAnsweRowInfos = await _readingTableAnswerRowInfoRepository.Where(x => visitTaskIds.Contains(x.VisitTaskId)).ToListAsync();
var globalanswerList = await _readingGlobalTaskInfoRepository.Where(x => visitTaskIds.Contains(x.TaskId) && x.GlobalVisitTask.TaskState == TaskState.Effect && x.Answer != string.Empty).Select(x => new
{
x.TaskId,
x.GlobalVisitTask.VisitTaskNum,
x.QuestionId,
x.Answer
}).ToListAsync();
var alltableAnsweRowInfos = await _readingTableAnswerRowInfoRepository.Where(x => visitTaskIds.Contains(x.VisitTaskId)).ToListAsync();
var organIds = alltableAnsweRowInfos.Where(x => x.OrganInfoId != null).Select(x => x.OrganInfoId).Distinct().ToList();
var organInfos = await _organInfoRepository.Where(x => organIds.Contains(x.Id)).ToListAsync();
@ -195,14 +204,15 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
foreach (var task in taskInfoList)
{
var globalAnswer = globalanswerList.Where(x => x.TaskId == task.VisitTaskId && x.QuestionId == question.QuestionId).OrderByDescending(x => x.VisitTaskNum).FirstOrDefault();
var answer = answers.Where(x => x.VisitTaskId == task.VisitTaskId && x.ReadingQuestionTrialId == question.QuestionId).FirstOrDefault();
var answer = answers.Where(x => x.VisitTaskId == task.VisitTaskId && x.ReadingQuestionTrialId == question.QuestionId).FirstOrDefault();
question.Answer.Add(new TaskQuestionAnswer()
{
Answer = answer==null?string.Empty:answer.Answer,
IsGlobalChange = answer == null ? false : answer.IsGlobalChange,
GlobalChangeAnswer = answer == null ? string.Empty : answer.GlobalChangeAnswer,
TaskName = task.TaskName,
IsGlobalChange = globalAnswer == null ? false : true,
GlobalChangeAnswer = globalAnswer == null ? string.Empty : globalAnswer.Answer,
TaskName = task.TaskName,
VisitTaskId = task.VisitTaskId,
});

View File

@ -24,7 +24,8 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
private readonly IRepository<ReadingTableAnswerRowInfo> _readingTableAnswerRowInfoRepository;
private readonly IRepository<ReadingQuestionTrial> _readingQuestionTrialRepository;
private readonly IRepository<OrganInfo> _organInfoRepository;
private readonly IRepository<SubjectVisit> _subjectVisitRepository;
private readonly IRepository<ReadingGlobalTaskInfo> _readingGlobalTaskInfoRepository;
private readonly IRepository<SubjectVisit> _subjectVisitRepository;
private readonly IRepository<TumorAssessment_RECIST1Point1BM> _tumorAssessment_RECIST1Point1BM;
private readonly IGeneralCalculateService _generalCalculateService;
private readonly IRepository<ReadingTaskQuestionAnswer> _readingTaskQuestionAnswerRepository;
@ -37,7 +38,8 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
IRepository<ReadingTableAnswerRowInfo> readingTableAnswerRowInfoRepository,
IRepository<ReadingQuestionTrial> readingQuestionTrialRepository,
IRepository<OrganInfo> organInfoRepository,
IRepository<SubjectVisit> subjectVisitRepository,
IRepository<ReadingGlobalTaskInfo> readingGlobalTaskInfoRepository,
IRepository<SubjectVisit> subjectVisitRepository,
IRepository<TumorAssessment_RECIST1Point1BM> tumorAssessment_RECIST1Point1BM,
IGeneralCalculateService generalCalculateService,
IRepository<ReadingTaskQuestionAnswer> readingTaskQuestionAnswerRepository
@ -50,7 +52,8 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
this._readingTableAnswerRowInfoRepository = readingTableAnswerRowInfoRepository;
this._readingQuestionTrialRepository = readingQuestionTrialRepository;
this._organInfoRepository = organInfoRepository;
this._subjectVisitRepository = subjectVisitRepository;
this._readingGlobalTaskInfoRepository = readingGlobalTaskInfoRepository;
this._subjectVisitRepository = subjectVisitRepository;
this._tumorAssessment_RECIST1Point1BM = tumorAssessment_RECIST1Point1BM;
this._generalCalculateService = generalCalculateService;
this._readingTaskQuestionAnswerRepository = readingTaskQuestionAnswerRepository;
@ -124,8 +127,14 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
var answers = await _readingTaskQuestionAnswerRepository.Where(x => visitTaskIds.Contains(x.VisitTaskId)).ToListAsync();
var tableAnswers = await _readingTableQuestionAnswerRepository.Where(x => visitTaskIds.Contains(x.VisitTaskId)).ToListAsync();
var alltableAnsweRowInfos = await _readingTableAnswerRowInfoRepository.Where(x => visitTaskIds.Contains(x.VisitTaskId)).ToListAsync();
var globalanswerList = await _readingGlobalTaskInfoRepository.Where(x => visitTaskIds.Contains(x.TaskId) && x.GlobalVisitTask.TaskState == TaskState.Effect && x.Answer != string.Empty).Select(x => new
{
x.TaskId,
x.GlobalVisitTask.VisitTaskNum,
x.QuestionId,
x.Answer
}).ToListAsync();
var alltableAnsweRowInfos = await _readingTableAnswerRowInfoRepository.Where(x => visitTaskIds.Contains(x.VisitTaskId)).ToListAsync();
var organIds = alltableAnsweRowInfos.Where(x => x.OrganInfoId != null).Select(x => x.OrganInfoId).Distinct().ToList();
var organInfos = await _organInfoRepository.Where(x => organIds.Contains(x.Id)).ToListAsync();
@ -191,14 +200,15 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
foreach (var task in taskInfoList)
{
var globalAnswer = globalanswerList.Where(x => x.TaskId == task.VisitTaskId && x.QuestionId == question.QuestionId).OrderByDescending(x => x.VisitTaskNum).FirstOrDefault();
var answer = answers.Where(x => x.VisitTaskId == task.VisitTaskId && x.ReadingQuestionTrialId == question.QuestionId).FirstOrDefault();
var answer = answers.Where(x => x.VisitTaskId == task.VisitTaskId && x.ReadingQuestionTrialId == question.QuestionId).FirstOrDefault();
question.Answer.Add(new TaskQuestionAnswer()
{
Answer = answer==null?string.Empty:answer.Answer,
IsGlobalChange = answer == null ? false : answer.IsGlobalChange,
GlobalChangeAnswer = answer == null ? string.Empty : answer.GlobalChangeAnswer,
TaskName = task.TaskName,
IsGlobalChange = globalAnswer == null ? false : true,
GlobalChangeAnswer = globalAnswer == null ? string.Empty : globalAnswer.Answer,
TaskName = task.TaskName,
VisitTaskId = task.VisitTaskId,
});

View File

@ -21,7 +21,8 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
private readonly IRepository<ReadingQuestionCriterionTrial> _readingQuestionCriterionTrialRepository;
private readonly IRepository<ReadingTableQuestionTrial> _readingTableQuestionTrialRepository;
private readonly IRepository<ReadingTableAnswerRowInfo> _readingTableAnswerRowInfoRepository;
private readonly IRepository<ReadingQuestionTrial> _readingQuestionTrialRepository;
private readonly IRepository<ReadingGlobalTaskInfo> _readingGlobalTaskInfoRepository;
private readonly IRepository<ReadingQuestionTrial> _readingQuestionTrialRepository;
private readonly IRepository<SubjectVisit> _subjectVisitRepository;
private readonly IRepository<OrganInfo> _organInfoRepository;
private readonly IRepository<DicomStudy> _dicomStudyRepository;
@ -36,7 +37,8 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
IRepository<ReadingQuestionCriterionTrial> readingQuestionCriterionTrialRepository,
IRepository<ReadingTableQuestionTrial> readingTableQuestionTrialRepository,
IRepository<ReadingTableAnswerRowInfo> readingTableAnswerRowInfoRepository,
IRepository<ReadingQuestionTrial> readingQuestionTrialRepository,
IRepository<ReadingGlobalTaskInfo> readingGlobalTaskInfoRepository,
IRepository<ReadingQuestionTrial> readingQuestionTrialRepository,
IRepository<SubjectVisit> subjectVisitRepository,
IRepository<OrganInfo> organInfoRepository,
IRepository<DicomStudy> dicomStudyRepository,
@ -51,7 +53,8 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
this._readingQuestionCriterionTrialRepository = readingQuestionCriterionTrialRepository;
this._readingTableQuestionTrialRepository = readingTableQuestionTrialRepository;
this._readingTableAnswerRowInfoRepository = readingTableAnswerRowInfoRepository;
this._readingQuestionTrialRepository = readingQuestionTrialRepository;
this._readingGlobalTaskInfoRepository = readingGlobalTaskInfoRepository;
this._readingQuestionTrialRepository = readingQuestionTrialRepository;
this._subjectVisitRepository = subjectVisitRepository;
this._organInfoRepository = organInfoRepository;
this._dicomStudyRepository = dicomStudyRepository;
@ -129,8 +132,14 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
var answers = await _readingTaskQuestionAnswerRepository.Where(x => visitTaskIds.Contains(x.VisitTaskId)).ToListAsync();
var tableAnswers = await _readingTableQuestionAnswerRepository.Where(x => visitTaskIds.Contains(x.VisitTaskId)).ToListAsync();
var alltableAnsweRowInfos = await _readingTableAnswerRowInfoRepository.Where(x => visitTaskIds.Contains(x.VisitTaskId)).ToListAsync();
var globalanswerList = await _readingGlobalTaskInfoRepository.Where(x => visitTaskIds.Contains(x.TaskId) && x.GlobalVisitTask.TaskState == TaskState.Effect && x.Answer != string.Empty).Select(x => new
{
x.TaskId,
x.GlobalVisitTask.VisitTaskNum,
x.QuestionId,
x.Answer
}).ToListAsync();
var alltableAnsweRowInfos = await _readingTableAnswerRowInfoRepository.Where(x => visitTaskIds.Contains(x.VisitTaskId)).ToListAsync();
var organIds = alltableAnsweRowInfos.Where(x => x.OrganInfoId != null).Select(x => x.OrganInfoId).Distinct().ToList();
var organInfos = await _organInfoRepository.Where(x => organIds.Contains(x.Id)).ToListAsync();
@ -202,14 +211,15 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
foreach (var task in taskInfoList)
{
var globalAnswer = globalanswerList.Where(x => x.TaskId == task.VisitTaskId && x.QuestionId == question.QuestionId).OrderByDescending(x => x.VisitTaskNum).FirstOrDefault();
var answer = answers.Where(x => x.VisitTaskId == task.VisitTaskId && x.ReadingQuestionTrialId == question.QuestionId).FirstOrDefault();
var answer = answers.Where(x => x.VisitTaskId == task.VisitTaskId && x.ReadingQuestionTrialId == question.QuestionId).FirstOrDefault();
question.Answer.Add(new TaskQuestionAnswer()
{
Answer = answer == null ? string.Empty : answer.Answer,
IsGlobalChange = answer == null ? false : answer.IsGlobalChange,
GlobalChangeAnswer = answer == null ? string.Empty : answer.GlobalChangeAnswer,
TaskName = task.TaskName,
IsGlobalChange = globalAnswer == null ? false : true,
GlobalChangeAnswer = globalAnswer == null ? string.Empty : globalAnswer.Answer,
TaskName = task.TaskName,
VisitTaskId = task.VisitTaskId,
});