public async Task <IActionResult> Post([FromBody] MapExerciseWorkoutOfmForPost 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: "GetMapExerciseWorkoutById", routeValues: new { id = ofmForGet.Id }, value: ofmForGet);

            return(result);
        }
Example #2
0
        public async Task <IActionResult> AssociateExercise(int workoutId, [FromForm] ExerciseViewModel exerciseViewModel)
        {
            var mapExerciseWorkout = new MapExerciseWorkoutOfmForPost()
            {
                WorkoutId  = workoutId,
                ExerciseId = exerciseViewModel.Id
            };

            var postResult = await _mapExericseWorkoutViewModelRepository.Create(mapExerciseWorkout);

            if (postResult.HttpStatusCode == HttpStatusCode.Unauthorized ||
                postResult.HttpStatusCode == HttpStatusCode.Forbidden)
            {
                return(RedirectToAction("AccessDenied", "Authorization"));
            }

            //if ((int)postResult.HttpStatusCode != 201)
            //{
            //    // Todo: Do something when creation failed
            //}

            return(RedirectToAction("AssociatedExercises", new { workoutId = workoutId }));
        }