public IActionResult GetAnimal(int id) { var animal = _animalInfoRepository.GetAnimal(id); if (animal == null) { _logger.LogInformation($"Animal with id {id} not found."); return(NotFound($"Animal with id {id} not found.")); } var animalToReturn = Mapper.Map <AnimalDto>(animal); return(Ok(animalToReturn)); }
public IActionResult CreateAdoption([FromBody] AdoptionObject adoptionObject) { if (adoptionObject.Animal == null || adoptionObject.Adopter == null) { _logger.LogInformation($"Animal: {adoptionObject.Animal}, Adopter: {adoptionObject.Adopter} provided. Neither can be null."); return(BadRequest()); } if (!ModelState.IsValid) { _logger.LogInformation($"Model state not valid. Message - {ModelState}"); return(BadRequest(ModelState)); } CreateAdopter(adoptionObject.Adopter); newAdoption = new Adoption() { AdopterId = newAdopterId, AnimalId = adoptionObject.Animal.Id.GetValueOrDefault(), Date = DateTime.Today }; _animalInfoRepository.AddAdoption(newAdoption); if (!_animalInfoRepository.Save()) { _logger.LogInformation($"{newAdoption} not successfully saved."); return(StatusCode(500)); } var animalToUpdate = _animalInfoRepository.GetAnimal(adoptionObject.Animal.Id.GetValueOrDefault()); if (animalToUpdate == null) { _logger.LogInformation($"No animal found with id {adoptionObject.Animal.Id}"); return(NotFound()); } return(UpdateAnimal(animalToUpdate)); }