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" })); }
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)); }