|
@@ -144,6 +144,7 @@ namespace Hotline.Application.Exam.Service.Trains
|
|
|
if (trainPracticeKnowladge != null)
|
|
|
{
|
|
|
addTrainDto.TrainKnowladgeId = trainPracticeKnowladge.Id;
|
|
|
+ addTrainDto.QuestionId = trainPracticeKnowladge.QuestionId;
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -275,7 +276,7 @@ namespace Hotline.Application.Exam.Service.Trains
|
|
|
|
|
|
trainRecordItem.ToInsert(_sessionContext);
|
|
|
|
|
|
- await _trainRecordItemRepository.ValidateAddAsync(trainRecordItem, cancellationToken);
|
|
|
+ await _trainRecordItemRepository.AddWithValidateAsync(trainRecordItem, cancellationToken);
|
|
|
}
|
|
|
|
|
|
private SqlSugar.ISugarQueryable<TrainRecordViewResponse> QueryResult(TrainRecordPagedRequest queryRequest)
|
|
@@ -363,27 +364,29 @@ namespace Hotline.Application.Exam.Service.Trains
|
|
|
}
|
|
|
|
|
|
|
|
|
- private async Task AddTrainRecordAnswer(AddTrainDto addTrainRecordDto, CancellationToken cancellationToken)
|
|
|
+ private async Task AddTrainRecordAnswer(AddTrainDto addTrainDto, CancellationToken cancellationToken)
|
|
|
{
|
|
|
- if (addTrainRecordDto.AddTrainRecordOptionDtos == null && addTrainRecordDto.AddTrainRecordAnswerDto == null) return;
|
|
|
+ if (addTrainDto.AddTrainRecordOptionDtos == null && addTrainDto.AddTrainRecordAnswerDto == null) return;
|
|
|
|
|
|
var trainRecordAnswers = new List<ExamTrainRecordAnswer>();
|
|
|
|
|
|
- addTrainRecordDto.AddTrainRecordOptionDtos?.ForEach(item =>
|
|
|
+ addTrainDto.AddTrainRecordOptionDtos?.ForEach(item =>
|
|
|
{
|
|
|
- item.TrainRecordId = addTrainRecordDto.TrainRecordId;
|
|
|
- trainRecordAnswers.Add(_mapper.Map<ExamTrainRecordAnswer>(item));
|
|
|
+ item.TrainRecordId = addTrainDto.TrainRecordId;
|
|
|
+ var traiRecordAnswer = _mapper.Map<ExamTrainRecordAnswer>(item);
|
|
|
+ traiRecordAnswer.QuestionId = addTrainDto.QuestionId;
|
|
|
+ trainRecordAnswers.Add(traiRecordAnswer);
|
|
|
});
|
|
|
|
|
|
- if (addTrainRecordDto.AddTrainRecordAnswerDto != null)
|
|
|
+ if (addTrainDto.AddTrainRecordAnswerDto != null)
|
|
|
{
|
|
|
- addTrainRecordDto.AddTrainRecordAnswerDto.TrainRecordId = addTrainRecordDto.TrainRecordId;
|
|
|
- trainRecordAnswers.Add(_mapper.Map<ExamTrainRecordAnswer>(addTrainRecordDto.AddTrainRecordAnswerDto));
|
|
|
+ addTrainDto.AddTrainRecordAnswerDto.TrainRecordId = addTrainDto.TrainRecordId;
|
|
|
+ trainRecordAnswers.Add(_mapper.Map<ExamTrainRecordAnswer>(addTrainDto.AddTrainRecordAnswerDto));
|
|
|
}
|
|
|
|
|
|
trainRecordAnswers.ToInsert(_sessionContext);
|
|
|
|
|
|
- await _trainRecordAnswerRepository.ValidateAddAsync(trainRecordAnswers,cancellationToken);
|
|
|
+ await _trainRecordAnswerRepository.AddWithValidateAsync(trainRecordAnswers,cancellationToken);
|
|
|
}
|
|
|
|
|
|
//private async Task<TrainPracticeDto> GetTrainQuestionOptions(AddTrainDto addTrainDto)
|
|
@@ -441,12 +444,14 @@ namespace Hotline.Application.Exam.Service.Trains
|
|
|
.Where((tpo, tp)=> tp.Id == trainPracticeRequest.TrainPracticeId)
|
|
|
.Select((tpo, tp) => tpo).ToListAsync();
|
|
|
|
|
|
- var trainRecordOptions = await trainRecordAnswerRepository.Queryable()
|
|
|
- .InnerJoin<ExamTrainRecord>((t,x)=>t.TrainRecordId == x.Id)
|
|
|
- .InnerJoin<ExamTrainPlanTemplate>((t,x,p)=> x.TrainPlanId == p.TrainPlanId)
|
|
|
- .InnerJoin<ExamTrainPractice>((t,x,p,tp)=> x.Id == tp.TrainTemplateId)
|
|
|
+ var queryable = trainRecordAnswerRepository.Queryable()
|
|
|
+ .InnerJoin<ExamTrainRecord>((t, x) => t.TrainRecordId == x.Id)
|
|
|
+ .InnerJoin<ExamTrainPlanTemplate>((t, x, p) => x.TrainPlanId == p.TrainPlanId)
|
|
|
+ .InnerJoin<ExamTrainPractice>((t, x, p, tp) => p.TrainTemplateId == tp.TrainTemplateId)
|
|
|
.Where((t, x, p, tp) => tp.Id == trainPracticeRequest.TrainPracticeId)
|
|
|
- .Select((t, x, p, tp) => t)
|
|
|
+ .Select((t, x, p, tp) => t);
|
|
|
+
|
|
|
+ var trainRecordOptions = await queryable
|
|
|
.ToListAsync();
|
|
|
|
|
|
var trainPracticeOptionsDtos = new List<SimpleTrainPracticeOptionsDto>();
|