private void AplicarFiltro(FiltroSpec filtro, out IQueryable <Usuario> query)
        {
            query = _AutoPecasDbContext.Usuarios
                    .AsExpandableEFCore();

            var predicate = PredicateBuilder.New <Usuario>(true);

            if (filtro.Filtros.TryGetValue("nome", out var nome))
            {
                predicate.And(p => p.Nome.Contains((string)nome));
            }

            if (filtro.Filtros.TryGetValue("usuario", out var usuario))
            {
                predicate.Or(p => p.NomeUsuario.Contains((string)usuario));
            }

            query = query.Where(predicate);
        }
Пример #2
0
        private void AplicarFiltro(FiltroSpec filtro, out IQueryable <Categoria> query)
        {
            query = _AutoPecasDbContext.Categorias
                    .AsExpandableEFCore();

            var predicate = PredicateBuilder.New <Categoria>(true);

            if (filtro.Filtros.TryGetValue("nome", out var nome))
            {
                predicate.And(p => p.Nome.Contains((string)nome));
            }

            if (filtro.Filtros.TryGetValue("descricao", out var descricao))
            {
                predicate.Or(p => p.Descricao.Contains((string)descricao));
            }

            query = query.Where(predicate);
        }
        public async Task <ActionResult <PaginacaoResultado <Produto> > > Lista(FiltroSpec filtro)
        {
            try
            {
                var produtos = await _produtoService.Lista(filtro);

                if (produtos.Lista.Count() > 0)
                {
                    foreach (var produto in produtos.Lista)
                    {
                        produtos.Lista.FirstOrDefault(p => p.Id == produto.Id).Quantidade = _notaService.VerificaEstoqueProduto(produto.Id);
                    }
                }

                return(Ok(produtos));
            }
            catch (Exception e)
            {
                throw e;
            }
        }