public async Task <IActionResult> Edit(Guid exerciseTemplateId, Guid testTemplateId)
        {
            var editExerciseTemplatesViewModel = new EditExerciseTemplatesViewModel
            {
                Id             = exerciseTemplateId,
                TestTemplateId = testTemplateId
            };

            var exercise = await _exercisesRepository.GetByIdAsync(exerciseTemplateId);

            if (exercise == null)
            {
                return(NotFound());
            }

            var answers = await _answersRepository.GetAllAnswersOfExerciseAsync(exerciseTemplateId);

            if (answers == null)
            {
                return(NotFound());
            }
            var editAnswer = _mapper.Map <List <EditAnswer> >(answers);

            editExerciseTemplatesViewModel.Answers     = editAnswer;
            editExerciseTemplatesViewModel.Description = exercise.Description;

            return(View(editExerciseTemplatesViewModel));
        }
        public async Task <IActionResult> Edit(EditExerciseTemplatesViewModel editExerciseTemplatesViewModel)
        {
            if (ModelState.IsValid)
            {
                var exercise = await _exercisesRepository.GetByIdAsync(editExerciseTemplatesViewModel.Id);

                if (exercise == null)
                {
                    return(NotFound());
                }
                exercise.Update(editExerciseTemplatesViewModel.Description,
                                editExerciseTemplatesViewModel.TestTemplateId, false);

                await _exercisesRepository.UpdateAsync(exercise);

                return(RedirectToAction(nameof(Edit), "TestTemplates",
                                        new { id = editExerciseTemplatesViewModel.TestTemplateId }));
            }

            return(View(editExerciseTemplatesViewModel));
        }