public async Task <IActionResult> Post(WorkoutModel workoutModel) { try { var userId = User.GetUserId(); if (!ModelState.IsValid) { return(BadRequest()); } var workout = mapper.Map <Workout>(workoutModel); workout.ApplicationUserId = userId; await workoutRepository.AddWorkoutAsync(workout); if (await workoutRepository.CommitAsync()) { workoutModel = mapper.Map <WorkoutModel>(workout); return(Ok(workoutModel)); } return(BadRequest()); } catch (Exception) { return(StatusCode(StatusCodes.Status500InternalServerError, "Internal Server Error")); } }