コード例 #1
0
        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));
        }
コード例 #2
0
        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));
        }