Parcourir la source

Merge branch 'feature/exam' into dev
合并冲突

guqiang il y a 14 heures
Parent
commit
273a39713f

+ 2 - 1
src/Hotline.Application/Exam/Service/Trains/TrainRecordService.cs

@@ -67,7 +67,8 @@ namespace Hotline.Application.Exam.Service.Trains
         #region public method
         public async Task CompleteTrainRecordAsync(CompleteTrainRecordDto completeTrainRecordDto, CancellationToken cancellationToken)
         {
-            var trainRecord = _mapper.Map<ExamTrainRecord>(completeTrainRecordDto);
+            var trainRecord = await _repository.GetAsync(x => x.Id == completeTrainRecordDto.Id);
+            trainRecord= _mapper.Map<CompleteTrainRecordDto,ExamTrainRecord>(completeTrainRecordDto, trainRecord);
             trainRecord.ToUpdate(_sessionContext);
 
             await _repository.ValidateUpdateAsync(trainRecord, cancellationToken);

+ 6 - 2
src/Hotline.Application/Exam/Service/Trains/TrainTemplateService.cs

@@ -247,8 +247,10 @@ namespace Hotline.Application.Exam.Service.Trains
 
             var trainPracticeSourcewares = new List<ExamTrainPracticeSourceware>();
 
-            actionRequest.TrainPracticeDtos.Where(x => x.QuestionType.CheckSelectType()).ToList().ForEach(x =>
+            actionRequest.TrainPracticeDtos.ToList().ForEach(x =>
             {
+                var trainPractice = base.Entity?.TrainPractices.FirstOrDefault(n => n.QuestionId == x.QuestionId) ?? null;
+
                 var options = questionSourceware.Where(n => x.QuestionId == n.QuestionId).ToList();
 
                 if (options != null)
@@ -257,7 +259,9 @@ namespace Hotline.Application.Exam.Service.Trains
                     {
                         var trainPracticeSourceware = _mapper.Map<ExamQuestionSourceware, ExamTrainPracticeSourceware>(item);
 
-						trainPracticeSourceware.ToInsert(_sessionContext);
+                        trainPracticeSourceware.TrainPracticeId = trainPractice?.Id;
+
+                        trainPracticeSourceware.ToInsert(_sessionContext);
 
                         trainPracticeSourcewares.Add(trainPracticeSourceware);
                     });