public IActionResult CreateAnimal([FromBody] AnimalCreateDto animalDto) { if (animalDto == null) { return(BadRequest(ModelState)); } if (_animalRepository.AnimalExits(animalDto.Name)) { ModelState.AddModelError("", "Animal Exits!"); return(StatusCode(404, ModelState)); } if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var animalObj = _mapper.Map <Animal>(animalDto); if (!_animalRepository.CrateAnimal(animalObj)) { ModelState.AddModelError("", $"Somethings went wrong when saving the record {animalObj.Name}"); return(StatusCode(500, ModelState)); } return(CreatedAtRoute("GetAnimal", new { animalId = animalObj.Id }, animalObj)); }