public async Task <ExerciseDto> EditExerciseAsync(int exerciseId, ExerciseEditModel input) { var exerciseFromDb = await this.context .Exercises .Include(x => x.MainMuscleGroup) .Include(x => x.SecondaryMuscleGroupExercises) .ThenInclude(x => x.MuscleGroup) .FirstOrDefaultAsync(x => x.Id == exerciseId); if (exerciseFromDb == null) { throw new ArgumentNullException(string.Format(ExercisesConstants.UnexistingExercise, exerciseId)); } var updatedExercise = input .MapTo <ExerciseEditModel, Exercise>(exerciseFromDb); await this.context .SaveChangesAsync(); var exerciseToReturn = await this.context .Exercises .Include(x => x.MainMuscleGroup) .Include(x => x.SecondaryMuscleGroupExercises) .ThenInclude(x => x.MuscleGroup) .FirstOrDefaultAsync(x => x.Name == input.Name); return(exerciseToReturn .MapTo <ExerciseDto>()); }
public async Task <ActionResult> Edit(int exerciseId, ExerciseEditModel input) { var isExerciseExists = await this.exercisesService .IsExistsByIdAsync(exerciseId); if (!isExerciseExists) { return(BadRequest(string.Format(ExercisesConstants.UnexistingExercise, exerciseId))); } var result = await this.exercisesService .EditExerciseAsync(exerciseId, input); return(Ok(result)); }