public async Task <PagedList <Clients> > GetAll(ClientsQueryFilters filters) { filters.PageNumber = filters.PageNumber == 0 ? _paginationOptions.DefaultPageNumber : filters.PageNumber; filters.PageSize = filters.PageSize == 0 ? _paginationOptions.DefaultPageSize : filters.PageSize; var client = await _clientsRepository.GetAll(); if (filters.clientId != null) { client = client.Where(x => x.Client_Id == filters.clientId); } if (filters.identification != null) { client = client.Where(x => x.Identification == filters.identification); } if (filters.status) { client = client.Where(x => x.Status == filters.status); } var pageClient = PagedList <Clients> .Create(client, filters.PageNumber, filters.PageSize); return(pageClient); }
public async Task <IActionResult> GetAll([FromQuery] ClientsQueryFilters filters) { var client = await _clientsServices.GetAll(filters); var clientDto = _mapper.Map <IEnumerable <ClientsDTO> >(client); Metadata metadata = MetadaFill(client); var response = new GenericResponse <IEnumerable <ClientsDTO> >(clientDto) { meta = metadata }; Response.Headers.Add("X-Pagination", JsonConvert.SerializeObject(metadata)); return(Ok(response)); }
public Url GetPaginationUri(ClientsQueryFilters filters, string actionUrl) { string baseUrl = $"{_baseUri}{actionUrl}"; return(new Url(baseUrl)); }