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")); } }
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")); } }
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")); } }