Exemplo n.º 1
0
        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));
        }
Exemplo n.º 2
0
        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));
        }