public async Task <ListOf <Produto> > PesquisarPorMarca(PesquisarProdutoVo model)
        {
            var query = DbSet.Include(i => i.Marca).Filter(model);

            var produtos = await query.OrderBy(o => o.Valor).Paginate(model).ToListAsync();

            var quantidade = await query.CountAsync();

            return(new ListOf <Produto>(produtos.Select(s => s.ToModel()), quantidade));
        }
 public async Task <IActionResult> Lista([FromQuery] PesquisarProdutoVo model)
 {
     return(View("Produtos/_ListaProdutos", new ProdutosPrincipalViewModel()
     {
         Produtos = await _produtoStore.Pesquisar(model),
         Categorias = await _categoriaStore.ObterTodos(),
         Marcas = await _marcaStore.ObterTodos(),
         PesquisaAtual = model,
         Action = "Lista",
         Controller = "Home"
     }));
 }
Example #3
0
        public async Task <IActionResult> Marca(string marca, [FromQuery] PesquisarProdutoVo model)
        {
            model.Marca = marca;
            var marcaDetalhes = await _marcaStore.ObterPorNome(marca);

            return(View("Produtos/_ListaProdutos", new ProdutosPrincipalViewModel()
            {
                Produtos = await _produtoStore.PesquisarPorMarca(model),
                ImagemCapa = marcaDetalhes?.Imagem,
                Titulo = marcaDetalhes?.Nome,
                SubTitulo = string.Empty,
                Categorias = await _categoriaStore.ObterTodos(),
                Marcas = await _marcaStore.ObterTodos(),
                PesquisaAtual = model,
                Action = "Lista",
                Controller = "Home"
            }));
        }
        public async Task <IActionResult> Index(string categoria, [FromQuery] PesquisarProdutoVo model)
        {
            model.Categoria = categoria.ToLower();
            var categoriaData = await _categoriaStore.ObterPorNome(categoria);

            return(View("Produtos/_ListaProdutos", new ProdutosPrincipalViewModel()
            {
                Produtos = await _produtoStore.PesquisarPorCategoria(model),
                ImagemCapa = categoriaData?.ImagemCapa,
                Titulo = categoriaData?.Nome,
                SubTitulo = categoriaData?.Descricao,
                Categorias = await _categoriaStore.ObterTodos(),
                Marcas = await _marcaStore.ObterTodos(),
                PesquisaAtual = model,
                Action = "Lista",
                Controller = "Home"
            }));
        }
        public async Task <ListOf <Produto> > Pesquisar(PesquisarProdutoVo model)
        {
            var query = DbSet.Include(i => i.Marca).Filter(model);

            if (model.Query.IsPresent())
            {
                query = query.Where(w =>
                                    w.Nome.ToLower().Contains(model.Query.ToLower()) ||
                                    w.Detalhes.ToLower().Contains(model.Query.ToLower()) ||
                                    w.Descricao.ToLower().Contains(model.Query.ToLower()) ||
                                    w.Categorias.ToLower().Contains(model.Query.ToLower()) ||
                                    w.Marca.Nome.ToLower().Contains(model.Query.ToLower()));
            }


            var produtos = await query.OrderBy(o => o.Valor).Paginate(model).ToListAsync();

            var quantidade = await query.CountAsync();

            return(new ListOf <Produto>(produtos.Select(s => s.ToModel()), quantidade));
        }