public async Task <PagedList <Combustible> > GetCombustibles(CombustibleQueryFilter filters) { var combustibles = await _unitOfWork.CombustibleRepository.GetAll(); combustibles = filters.TipoCombustible != null?combustibles.Where(x => x.TipoCombustible == filters.TipoCombustible) : combustibles; combustibles = filters.Descripcion != null?combustibles.Where(x => x.Descripcion.ToLower().Contains(filters.Descripcion.ToLower())) : combustibles; combustibles = filters.Estatus != null?combustibles.Where(x => x.Estatus == filters.Estatus) : combustibles; return(_pagedGenerator.GeneratePagedList(combustibles, filters)); }
public async Task <ActionResult <IEnumerable <CombustibleDTO> > > Get([FromQuery] CombustibleQueryFilter filters) { var combustibles = await _combustibleService.GetCombustibles(filters); var combustiblesDTO = _mapper.Map <IEnumerable <CombustibleDTO> >(combustibles); var metadata = new MetaData().BuildMeta <Combustible>(combustibles, filters, Request.Path.Value, _uriService); var response = new ApiResponse <IEnumerable <CombustibleDTO> >(combustiblesDTO) { Meta = metadata }; Response.Headers.Add("X-Pagination", JsonConvert.SerializeObject(metadata)); return(Ok(response)); }