public async Task <IViewComponentResult> InvokeAsync()
        {
            int?   pagina    = 1;
            string pesquisa  = "";
            string ordenacao = "A";
            IEnumerable <Categoria> categorias = null;

            if (HttpContext.Request.Query.ContainsKey("pagina"))
            {
                pagina = int.Parse(HttpContext.Request.Query["pagina"]);
            }
            if (HttpContext.Request.Query.ContainsKey("pesquisa"))
            {
                pesquisa = HttpContext.Request.Query["pesquisa"].ToString();
            }
            if (HttpContext.Request.Query.ContainsKey("ordenacao"))
            {
                ordenacao = HttpContext.Request.Query["ordenacao"];
            }
            if (ViewContext.RouteData.Values.ContainsKey("slug"))
            {
                string    slug = ViewContext.RouteData.Values["slug"].ToString();
                Categoria CategoriaPrincipal = _categoriaRepository.ObterCategoria(slug);
                categorias = _categoriaRepository.ObterCategoriasRecursivas(CategoriaPrincipal);
            }

            var viewModel = new ProdutoListagemViewModel()
            {
                lista = _produtoRepository.ObterTodosProdutos(pagina, pesquisa, ordenacao, categorias)
            };

            return(View(viewModel));
        }
        public async Task <IViewComponentResult> InvokeAsync()
        {
            int?   pagina    = 1;
            string pesquisa  = "";
            string ordenacao = "A";
            int?   categoria = null;

            if (HttpContext.Request.Query.ContainsKey("pagina"))
            {
                pagina = int.Parse(HttpContext.Request.Query["pagina"]);
            }

            if (HttpContext.Request.Query.ContainsKey("pesquisa"))
            {
                pesquisa = HttpContext.Request.Query["pesquisa"].ToString();
            }

            if (HttpContext.Request.Query.ContainsKey("ordenacao"))
            {
                ordenacao = HttpContext.Request.Query["ordenacao"].ToString();
            }

            var viewModel = new ProdutoListagemViewModel()
            {
                lista = _produtoRepository.ObterTodosProdutos(pagina, pesquisa, ordenacao, categoria)
            };

            return(View(viewModel));
        }
        public async Task <IViewComponentResult> InvokeAsync()
        {
            int?   pagina    = 1;
            string pesquisa  = "";
            string ordenacao = "A";
            int?   categoria = null;

            var viewModel = new ProdutoListagemViewModel()
            {
                lista = _produtoRepository.ObterTodosProdutos(pagina, pesquisa, ordenacao, categoria)
            };

            return(View(viewModel));
        }
예제 #4
0
        public async Task <IViewComponentResult> InvokeAsync()
        {
            int?   pagina    = 1;
            string pesquisa  = "";
            string ordenacao = "A";
            IEnumerable <Categoria> categorias = null;

            if (HttpContext.Request.Query.ContainsKey("pagina"))
            {
                pagina = int.Parse(HttpContext.Request.Query["pagina"]);
            }

            if (HttpContext.Request.Query.ContainsKey("pesquisa"))
            {
                pesquisa = HttpContext.Request.Query["pesquisa"].ToString();
            }

            if (HttpContext.Request.Query.ContainsKey("ordenacao"))
            {
                ordenacao = HttpContext.Request.Query["ordenacao"];
            }
            if (ViewContext.RouteData.Values.ContainsKey("slog"))
            {
                string slog = ViewContext.RouteData.Values["slog"].ToString();
                //Criar algoritmo recursivo que obtem uma lista com todas as categorias que devem utilizadas para apresentar o produto
                Categoria CategoriaPrincipal = _categoriaRepository.ObterCategoria(slog);

                categorias = _categoriaRepository.ObterCategoriasRecursivas(CategoriaPrincipal);
            }

            var ViewModel = new ProdutoListagemViewModel()
            {
                Lista = _produtoRepository.ObterTodosProdutos(pagina, pesquisa, ordenacao, categorias)
            };

            return(View(ViewModel));
        }
예제 #5
0
        public async Task <IViewComponentResult> InvokeAsync()
        {
            int?   pagina    = HttpContext.Request.Query.ContainsKey("pagina") ? Convert.ToInt32(HttpContext.Request.Query["pagina"]) : 1;
            string pesquisa  = HttpContext.Request.Query.ContainsKey("pesquisa") ? HttpContext.Request.Query["pesquisa"].ToString() : "";
            int?   registros = HttpContext.Request.Query.ContainsKey("registros") ? Convert.ToInt32(HttpContext.Request.Query["registros"]) : 12;;
            string ordenacao = HttpContext.Request.Query.ContainsKey("ordenacao") ? HttpContext.Request.Query["ordenacao"].ToString() : "";

            //Se conter a KEY "slug" na rota ele vai listar as categorias com suas filhas buscando pelo slug informado, senão vai retornar NULL.
            List <Categoria> categorias = ViewContext.RouteData.Values.ContainsKey("slug")
                ? _categoriaRepository.ListarCategoriasComSuassFilhas(
                _categoriaRepository.Buscar(
                    ViewContext.RouteData.Values["slug"].ToString()
                    )
                )
                : null;

            var produtos = _produtoRepository.Listar(pagina, pesquisa, registros, ordenacao, categorias);
            ProdutoListagemViewModel viewModel = new ProdutoListagemViewModel()
            {
                Produtos = produtos
            };

            return(View(viewModel));
        }