Ejemplo n.º 1
0
        public IActionResult AdoptionPagedList([FromQuery] AdoptionFilter filter)
        {
            try
            {
                var result = new PagingResultViewModel <AdoptionListViewModel>();

                var pagingAdoptions = _adoptionService.GetAdoptions(filter.Page.Value, filter.PageSize.Value, filter.AdoptionStatus, filter.Search, filter.IsActive);

                if (pagingAdoptions.Elements.Any())
                {
                    var adoptionsListViewModel = pagingAdoptions.Elements.Select(adoption => new AdoptionListViewModel()
                    {
                        Id                  = adoption.Id,
                        AnimalName          = adoption.Animal.Name,
                        AnimalBreed         = adoption.Animal.Breed,
                        AnimalType          = adoption.Animal.AnimalType.GetDescription(),
                        AdopterName         = adoption.Adopter.Name,
                        AnimalPictureUrl    = adoption.Animal.PictureUrl,
                        AdopterPhoneNumber  = adoption.Adopter.ContactInfo.FormatPhoneNumber,
                        AdopterEmail        = adoption.Adopter.ContactInfo.Email,
                        Status              = adoption.Status,
                        AdoptionStatus      = adoption.AdoptionStatus.GetDescription(),
                        AdoptionObservation = adoption.Observation
                    });

                    result = new PagingResultViewModel <AdoptionListViewModel>(filter.Page.Value, filter.PageSize.Value)
                    {
                        Elements      = adoptionsListViewModel,
                        ElementsCount = pagingAdoptions.ElementsCount
                    };
                }
                else
                {
                    return(RequestResponse(HttpStatusCode.NotFound, "hipets/api/v1/adoptions", result: "No content"));
                }

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

                return(RequestResponse(HttpStatusCode.BadRequest, isError: true, result: "Ocorreu um erro ao listar os animais"));
            }
        }
Ejemplo n.º 2
0
        public IActionResult AnimalPagedList([FromQuery] AnimalFilter filter)
        {
            try
            {
                var result = new PagingResultViewModel <AnimalListViewModel>();

                var pagingAnimals = _animalService.GetAnimals(filter.Page.Value, filter.PageSize.Value, filter.AnimalStatus, filter.Search, filter.IsActive);

                if (pagingAnimals.Elements.Any())
                {
                    var animalsListViewModel = pagingAnimals.Elements.Select(animal => new AnimalListViewModel()
                    {
                        Id          = animal.Id,
                        Name        = animal.Name,
                        Age         = animal.Age,
                        AnimalType  = animal.AnimalType.GetDescription(),
                        Behavior    = animal.Behavior,
                        Breed       = animal.Breed,
                        Status      = animal.Status,
                        AdopterName = animal.Adopter?.Name,
                        PictureUrl  = animal.PictureUrl
                    });

                    result = new PagingResultViewModel <AnimalListViewModel>(filter.Page.Value, filter.PageSize.Value)
                    {
                        Elements      = animalsListViewModel,
                        ElementsCount = pagingAnimals.ElementsCount
                    };
                }
                else
                {
                    return(RequestResponse(HttpStatusCode.NotFound, "hipets/api/v1/animals", result: "No content"));
                }

                return(IsAValidOperation()
                    ? RequestResponse(HttpStatusCode.OK, result: result)
                    : 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 listar os animais"));
            }
        }
Ejemplo n.º 3
0
        public IActionResult AdopterPagedList([FromQuery] CustomFilter filter)
        {
            try
            {
                var result = new PagingResultViewModel <AdopterListViewModel>();

                var pagingAdopters = _adopterService.GetAdopters(filter.Page.Value, filter.PageSize.Value, filter.Search, filter.IsActive);

                if (pagingAdopters.Elements.Any())
                {
                    var animalsListViewModel = pagingAdopters.Elements.Select(adopter => new AdopterListViewModel()
                    {
                        Id          = adopter.Id,
                        Name        = adopter.Name,
                        PhoneNumber = adopter.ContactInfo.FormatPhoneNumber,
                        Email       = adopter.ContactInfo.Email,
                        Status      = adopter.Status
                    });

                    result = new PagingResultViewModel <AdopterListViewModel>(filter.Page.Value, filter.PageSize.Value)
                    {
                        Elements      = animalsListViewModel,
                        ElementsCount = pagingAdopters.ElementsCount
                    };
                }
                else
                {
                    return(RequestResponse(HttpStatusCode.NotFound, "hipets/api/v1/adopters", result: "No content"));
                }

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

                return(RequestResponse(HttpStatusCode.BadRequest, isError: true, result: "Ocorreu um erro ao listar os clientes"));
            }
        }