예제 #1
0
        private void ConsultaProdutosType()
        {
            Field <ListGraphType <ProdutoType> >(
                "produtos",
                resolve: context => _produtoService.ObterTodos());

            Field <ListGraphType <ProdutoType> >(
                "produto",
                arguments: new QueryArguments(MontaListaDeQueryArguments(FiltrosProduto.Filtros)),
                resolve: context =>
            {
                var filtros              = new FiltrosProduto();
                filtros.NomeProduto      = context.GetArgument <string>(FiltrosProduto.FiltroNomeProduto);
                filtros.NomeMarcaProduto = context.GetArgument <string>(FiltrosProduto.FiltroNomeMarcaProduto);

                return(_produtoService.ObterPorFitlro(filtros));
            });
        }
예제 #2
0
        public async Task <IEnumerable <Produto> > ObterPorFitlro(FiltrosProduto filtros)
        {
            if (filtros.NomeProduto != default && filtros.NomeMarcaProduto != default)
            {
                var produtos = await ObterProdutosPorMarca(filtros.NomeMarcaProduto);

                return(produtos.Where(p => p.Descricao.ToUpper().Contains(filtros.NomeProduto.ToUpper())).ToList());
            }

            if (filtros.NomeProduto != default)
            {
                return(await ObterPorNome(filtros.NomeProduto));
            }

            if (filtros.NomeMarcaProduto != default)
            {
                return(await ObterProdutosPorMarca(filtros.NomeMarcaProduto));
            }

            return(await ObterTodos());
        }
예제 #3
0
 public ProdutoServiceTests(ProdutoFixture produtoFixture)
 {
     _produtoFixture = produtoFixture;
     FiltrosProduto  = new FiltrosProduto();
 }