public WorkoutExcercise UpdateWorkoutExercise(User user, WorkoutExcercise exercise)
        {
            var workout = _context.Workouts.FirstOrDefault(o => o.WorkoutId == exercise.WorkoutId);

            if (workout == null)
            {
                throw new KeyNotFoundException();
            }
            if (!HaveAccessWorkout(user, workout))
            {
                throw new AuthenticationException();
            }

            var excerciseDb = _context.WorkoutsExcercises.FirstOrDefault(o => o.WorkoutExcerciseId == exercise.WorkoutExcerciseId);

            excerciseDb.IsSet = exercise.IsSet;

            if (exercise.Name != null)
            {
                excerciseDb.Name = exercise.Name;
            }

            if (exercise.About != null)
            {
                excerciseDb.About = exercise.About;
            }
            if (exercise.Order != null)
            {
                excerciseDb.Order = exercise.Order;
            }
            if (exercise.Repeats != null)
            {
                excerciseDb.Repeats = exercise.Repeats;
            }
            if (exercise.Calories != null)
            {
                excerciseDb.Calories = exercise.Calories;
            }
            if (exercise.Sets != null)
            {
                excerciseDb.Sets = exercise.Sets;
            }
            if (exercise.Duration != null)
            {
                excerciseDb.Duration = exercise.Duration;
            }

            if (exercise.Weight != null)
            {
                excerciseDb.Weight = exercise.Weight;
            }
            excerciseDb.Order = exercise.Order;

            _context.WorkoutsExcercises.Update(excerciseDb);
            _context.SaveChanges();

            return(excerciseDb);
        }
        public async Task <IActionResult> Post(Guid workoutId, [Bind("IsSet,Order,Repeats,Calories,Sets,Duration,Weight,Name,About")] WorkoutExcercise excercise)
        {
            User user = _userService.GetByEmail(User.Identity.Name);

            excercise.WorkoutId = workoutId;

            excercise = _workoutService.AddWorkoutExercise(user, excercise);

            return(Ok(excercise));
        }
        public WorkoutExcercise RemoveWorkoutExercise(User user, WorkoutExcercise exercise)
        {
            var workout = _context.Workouts.FirstOrDefault(o => o.WorkoutId == exercise.WorkoutId);

            if (HaveAccessWorkout(user, workout))
            {
                _context.WorkoutsExcercises.Remove(exercise);
                _context.SaveChanges();

                return(exercise);
            }
            else
            {
                throw new AuthenticationException();
            }
        }