public async Task <IActionResult> Display(DisplayTestsViewModel displayTestViewModel) { if (ModelState.IsValid) { var exerciseResponse = new ExerciseResponse(); exerciseResponse.UserId = displayTestViewModel.UserId; exerciseResponse.ExerciseId = displayTestViewModel.ExerciseId; exerciseResponse.TestInstanceId = displayTestViewModel.TestInstanceId; var answers = new List <MarkedAsCorrect>(); foreach (var item in displayTestViewModel.Answers) { if (item.Correct) { answers.Add(new MarkedAsCorrect() { AnswerId = item.Id, ExerciseId = displayTestViewModel.ExerciseId, TestInstanceId = displayTestViewModel.TestInstanceId, UserId = displayTestViewModel.UserId }); } } exerciseResponse.MarkedAsCorrects = answers; await _testInstancesRepository.InsertExerciseResponseAsync(exerciseResponse); return(RedirectToAction(nameof(Display), new { id = displayTestViewModel.TestInstanceId })); } return(View(displayTestViewModel)); }
public async Task <IActionResult> Display(Guid id) { var exercise = await _testInstancesRepository.GetNextExerciseAsync(_userId, id); if (exercise == null) { return(RedirectToAction(nameof(Finished), new { id = id })); } var displayTestsViewModel = new DisplayTestsViewModel(); displayTestsViewModel.TestInstanceId = id; displayTestsViewModel.Description = exercise.Description; displayTestsViewModel.ExerciseId = exercise.Id; displayTestsViewModel.UserId = _userId; var answers = new List <MarkedCorrectAnswerDisplayTestsViewModel>(); foreach (var item in exercise.Answers) { answers.Add(new MarkedCorrectAnswerDisplayTestsViewModel() { Id = item.Id, Description = item.Description }); } displayTestsViewModel.Answers = answers; return(View(displayTestsViewModel)); }