예제 #1
0
        public IActionResult AnimalById(Guid id)
        {
            try
            {
                var animal = _animalService.FindById(id);

                var message = $"O animal com Id {id} não existe";

                if (animal == null)
                {
                    var error = JsonConvert.SerializeObject(message);
                    _logger.LogError(error);

                    return(RequestResponse(HttpStatusCode.NotFound, "hipets/api/v1/animals", isError: true, result: message));
                }

                return(IsAValidOperation()
                    ? RequestResponse(HttpStatusCode.OK, result: animal)
                    : RequestResponse(HttpStatusCode.NotFound, "hipets/api/v1/animals", isError: true));
            }
            catch (Exception ex)
            {
                var error = JsonConvert.SerializeObject(ex);
                _logger.LogError(error);

                return(RequestResponse(HttpStatusCode.BadRequest, isError: true, result: "Ocorreu um erro ao obter o animal"));
            }
        }
예제 #2
0
        public void InsertAdoption(Guid animalId, Guid adopterId)
        {
            var adoption = new Adoption(animalId, adopterId);

            var animal = _animalService.FindById(animalId);

            if (animal == null)
            {
                RaiseNotification(nameof(Animal), "Animal para adoção não existe", NotificationType.Error);
                return;
            }

            animal.InAdoptionProccess();

            _repository.Update(animal);

            if (!IsAValidAdoption(adoption))
            {
                return;
            }

            Insert(adoption);
        }