Ejemplo n.º 1
0
        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 }));
        }
Ejemplo n.º 2
0
        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);
        }