public async Task <IActionResult> CreateNewWorkout([FromForm] WorkoutOfmForPost workoutOfmForPost) { var postResult = await _workoutViewModelRepository.Create(workoutOfmForPost); if (postResult.HttpStatusCode == HttpStatusCode.Unauthorized || postResult.HttpStatusCode == HttpStatusCode.Forbidden) { return(RedirectToAction("AccessDenied", "Authorization")); } WorkoutViewModel workoutViewModel = null; if ((int)postResult.HttpStatusCode == 201) { workoutViewModel = postResult.ViewModel; } return(RedirectToAction("AssociatedExercises", new { workoutId = workoutViewModel?.Id })); }
public async Task <IActionResult> Post([FromBody] WorkoutOfmForPost ofmForPost) { var stringGuid = User.Claims.FirstOrDefault(c => c.Type == "sub")?.Value; if (String.IsNullOrWhiteSpace(stringGuid)) { return(Unauthorized()); } var ownerGuid = new Guid(stringGuid); if (!_controllerGuardClause.ValidatePost(ofmForPost, out ObjectResult objectResult)) { return(objectResult); } var ofmForGet = await _asyncOfmRepository.Post(ofmForPost, ownerGuid); var result = CreatedAtRoute(routeName: "GetWorkoutById", routeValues: new { id = ofmForGet.Id }, value: ofmForGet); return(result); }