Пример #1
0
        public async Task <IActionResult> PostExercise([FromRoute] int?userId, [FromBody] ExerciseDTO exerciseDTO)
        {
            if (userId == null)
            {
                return(BadRequest());
            }
            if (!ModelState.IsValid)
            {
                return(new UnprocessableEntityObjectResult(ModelState));
            }

            if (!await _repository.UserExists(userId))
            {
                return(NotFound("User Doesn't Exist"));
            }

            exerciseDTO.WTUserID = userId;
            var exerciseEntity = Mapper.Map <Exercise>(exerciseDTO);

            var result = await _repository.AddExerciseForUser(userId, exerciseEntity);

            if (result == false)
            {
                return(BadRequest("Add Failed..."));
            }


            if (exerciseEntity.ImageBytes != null && exerciseEntity.ImageBytes.Length != 0)
            {
                var imageResult = await SaveExerciseImage(exerciseEntity);
            }

            var exerciseToReturn = Mapper.Map <ExerciseDTO>(exerciseEntity);

            return(CreatedAtRoute(
                       routeName: "GetExercise",
                       routeValues: new
            {
                userId = userId,
                exerciseId = exerciseToReturn.ID
            },
                       value: exerciseToReturn));
        }