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);
     }
 }
Esempio n. 3
0
        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 }));
        }
Esempio n. 4
0
 public async Task <IEnumerable <Fornecedor> > BuscarPorFiltroComPaginacao([FromQuery] FornecedorParams uparams)
 {
     return(await _fornecedorService.BuscarPorFiltroComPaginacao(uparams));
 }