public async Task <bool?> UpdateWorkout(int userId, int workoutId, PlannedWorkoutVM updatedWorkout) { await Extensions.FindUser(userId, _userRepository, _cache); var workout = await _plannedWorkoutRepository.Get(workoutId); if (workout is null || userId != workout.UserId) { return(null); } if (workout.DatesAreEdited(updatedWorkout)) { throw new RestException(System.Net.HttpStatusCode.BadRequest, "Date information cannot be changed in this request."); } workout.UpdateFromVM(updatedWorkout); return((await _plannedWorkoutRepository.Update(workout)) > 0); }