示例#1
0
        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));
        }