public async Task <PagedList <Fornecedor> > BuscarPorFiltroComPaginacao(FornecedorParams parametros) { try { var paginaDeFoenecedores = _context.Fornecedores.AsQueryable(); if (parametros.Filter != null) { paginaDeFoenecedores = paginaDeFoenecedores.Where(x => x.Nome.ToLower().Contains(parametros.Filter.ToLower()) || x.CNPJ.ToString().ToLower().Contains(parametros.Filter.ToLower()) || x.Telefone.ToLower().Contains(parametros.Filter.ToLower())); } if (parametros.SortOrder.ToLower().Equals("asc")) { paginaDeFoenecedores = paginaDeFoenecedores.OrderBy(prod => prod.Nome); } if (parametros.SortOrder.ToLower().Equals("desc")) { paginaDeFoenecedores = paginaDeFoenecedores.OrderByDescending(prod => prod.Nome); } var result = await paginaDeFoenecedores.ToListAsync(); return(PagedList <Fornecedor> .ToPagedList(result, parametros.NumeroDaPaginaAtual, parametros.TamanhoDaPagina)); } catch (MySqlException ex) { _context.Dispose(); throw new Exception(ex.Message); } }
public async Task <PagedList <Fornecedor> > BuscarPorFiltroComPaginacao(FornecedorParams prodParams) { try { return(await _repository.BuscarPorFiltroComPaginacao(prodParams)); } catch (Exception e) { throw new Exception(e.Message); } }
public async Task <IActionResult> BuscarFornecedorPaginado([FromQuery] FornecedorParams parametros) { PagedList <Fornecedor> data = await _fornecedorService.BuscarPorFiltroComPaginacao(parametros); var pageData = new { data.TotalCount, data.PageSize, data.CurrentPage, data.TotalPages, data.HasNext, data.HasPrevious }; return(Ok(new { data, pageData })); }
public async Task <IEnumerable <Fornecedor> > BuscarPorFiltroComPaginacao([FromQuery] FornecedorParams uparams) { return(await _fornecedorService.BuscarPorFiltroComPaginacao(uparams)); }