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)); }