예제 #1
0
        public async Task <ActionResult <MuscleForReturnDto> > CreateMuscleAsync([FromBody] MuscleForCreateDto muscleForCreate)
        {
            var newMuscle = mapper.Map <Muscle>(muscleForCreate);

            muscleRepository.Add(newMuscle);

            var saveResult = await muscleRepository.SaveAllAsync();

            if (!saveResult)
            {
                return(BadRequest(new ProblemDetailsWithErrors("Unable to create muscle.", 400, Request)));
            }

            var muscleToReturn = mapper.Map <MuscleForReturnDto>(newMuscle);

            return(CreatedAtRoute("GetMuscle", new { id = newMuscle.Id }, muscleToReturn));
        }
        public async Task <ActionResult <MuscleForReturnDto> > PutMuscleAsync(int id, [FromBody] MuscleForCreateDto dto)
        {
            var muscle = await muscleRepository.GetByIdAsync(id);

            if (muscle == null)
            {
                return(NotFound());
            }

            mapper.Map(dto, muscle);

            var saveResult = await muscleRepository.SaveAllAsync();

            if (!saveResult)
            {
                return(BadRequest("Could not apply changes."));
            }

            var muscleToReturn = mapper.Map <MuscleForReturnDto>(muscle);

            return(Ok(muscleToReturn));
        }