// GET: Vitrine
        public ViewResult ListaProdutos(string categoria, int pagina  =1)
        {
            _repositorio = new ProdutosRepositorio();

            ProdutosViewModel model = new ProdutosViewModel()
            {

                Produtos = _repositorio.Produtos
                 .Where(p=>categoria == null || p.Categoria == categoria)
                .OrderBy(p => p.Descricao)
                .Skip((pagina - 1) * ProdutosPorPaginas)
                .Take(ProdutosPorPaginas),

                Paginacao = new Paginacao
                {
                    PaginaAtual = pagina,
                    ItensPorPagina = ProdutosPorPaginas,
                    ItensTotal = _repositorio.Produtos.Count()
                },

                CategoriaAtual = categoria
            };

            return View(model);
        }
        public ViewResult ListaProdutos(int pagina = 1)
        {
            _repositorio = new ProdutosRepositorio();

            ProdutosViewModel model = new ProdutosViewModel()
            {
                Produtos = _repositorio.Produtos
                    .OrderBy(p => p.Descricao)
                    .Skip((pagina - 1)*ProdutosPorPagina)
                    .Take(ProdutosPorPagina),



                Paginacao = new Paginacao()
                {
                    PaginaAtual = pagina,
                    ItensPorPagina = ProdutosPorPagina,
                    ItensTotal = _repositorio.Produtos.Count()

                }
            };




            return View(model);


        }
        //public ViewResult ListaProdutos(string categoria,int pagina = 1)
        //{
        //   _repositorio = new ProdutosRepositorio();
        //    ProdutosViewModel model = new ProdutosViewModel
        //    {
        //        Produtos = _repositorio.Produtos
        //            .Where(p => categoria == null || p.Categoria == categoria)
        //            .OrderBy(p => p.Descricao)
        //            .Skip((pagina - 1)*ProdutosPorPagina)
        //            .Take(ProdutosPorPagina),
        //        Paginacao = new Paginacao
        //        {
        //            PaginaAtual = pagina,
        //            ItensPorPagina = ProdutosPorPagina,
        //            ItensTotal = categoria == null? _repositorio.Produtos.Count() : _repositorio.Produtos.Count(p => p.Categoria == categoria)
        //        },
        //        CategoriaAtual = categoria
        //    };
        //    return View(model);
        //}
        public ViewResult ListaProdutos(string categoria)
        {
            /*ListaProdutos modificado para exibir produtos
             * aleatoriamente e preparando para exibir os
             * detalhes da imagem do produto
             */

            _repositorio = new ProdutosRepositorio();

               var model = new ProdutosViewModel();

               //Gera valores randômicos
            var rnd = new Random();

            if (categoria != null)
            {
                model.Produtos = _repositorio.Produtos
                    .Where(p => p.Categoria == categoria)
                    .OrderBy(x => rnd.Next()).ToList();
            }
            else
            {
                //Lista todos os produtos aleatoriamente, pulando por 12 páginas
                model.Produtos = _repositorio.Produtos
                    .OrderBy(x => rnd.Next())
                    .Take(ProdutosPorPagina).ToList();
            }

            return View(model);
        }
예제 #4
0
        // GET: Vitrine
        /// <summary>
        /// Definindo o controle da Vitrine com o metodo ListaProdutos, que será responsavel por exibir todos os controles.
        /// </summary>
        /// <param name="pagina"></param>
        /// <returns></returns>
        public ViewResult ListaProdutos(string categoria="Futebol", int pagina = 1)
        {
            //Instanciando o controle para abrir conexão com o banco de dados.
            _repositorio = new ProdutosRepositorio();

            //Populando nossa view model, conjuto de objetos para serem exibidos de uma forma particular.
            ProdutosViewModel model = new ProdutosViewModel
            {
                //Envinado nossa lista....
                Produtos = _repositorio.Produtos
                .Where(p=> categoria == null || p.Categoria == categoria)
                .OrderBy(p => p.Descricao)
                .Skip((pagina - 1) * ProdutosPorPagina)
                .Take(ProdutosPorPagina),

                //Enviando nossa objeto de paginação.
                Paginacao = new Paginacao
                {
                    PaginaAtual = pagina,
                    ItensPorPagina = ProdutosPorPagina,
                    ItensTotal = _repositorio.Produtos.Count()
                },

                CategoriaAtual = categoria
            };

            //Retornado nosso controle de objeto view MODEL. Não so apenas os objetos da lista.
            return View(model);
        }
        //GET: Vitrine
        public ViewResult ListaProdutos(string categoria)
        {
            _repositorio = new ProdutosRepositorio();
            var model = new ProdutosViewModel();
            var rnd = new Random();

            if (categoria != null)
            {
                model.Produtos = _repositorio.Produtos
                    .Where(p => p.Categoria == categoria)
                    .OrderBy(x => rnd.Next()).ToList();
            }
            else
            {
                model.Produtos = _repositorio.Produtos
                    .OrderBy(x => rnd.Next())
                    .Take(ProdutoPorPagina).ToList();
            }
            return View(model);
        }
        // GET: Produtos
        public ViewResult ListaProdutos(string categoria)
        {
            _repositorio = new ProdutosRepositorio();

            var model = new ProdutosViewModel();

            var rnd = new Random();

            if (categoria != null)
            {
                model.Produtos = _repositorio.Produtos
                    .Where(p => p.Categoria == categoria)
                    .OrderBy(x => rnd.Next()).ToList();
            }
            else
            {
                model.Produtos = _repositorio.Produtos
                    .OrderBy(x => rnd.Next())
                    .Take(ProdutosPorPagina).ToList();
            }

            //ProdutosViewModel model = new ProdutosViewModel
            //{
            //    Produtos = _repositorio.Produtos
            //        .Where(p => categoria == null || p.Categoria == categoria)
            //        .OrderBy(p => p.Descricao)
            //        .Skip((pagina - 1) * ProdutosPorPagina)
            //        .Take(ProdutosPorPagina),
            //    Paginacao = new Paginacao
            //    {
            //        PaginaAtual = pagina,
            //        ItensporPagina = ProdutosPorPagina,
            //        ItensTotal = categoria == null ? _repositorio.Produtos.Count() : _repositorio.Produtos.Count(e => e.Categoria == categoria)
            //    },
            //    CategoriaAtual = categoria
            //};

            return View(model);
        }
        // GET: Vitrine
        public ActionResult ListarProdutos(string categoria, int pagina)
        {
            repositorio = new ProdutosRepositorio();

            ProdutosViewModel model = new ProdutosViewModel()
            {
                Produtos = repositorio.Produtos
                    .Where(p => categoria == null || p.Categoria == categoria)
                    .OrderBy(p => p.Descricao)
                    .Skip((pagina - 1) * produtosPorPagina)
                    .Take(produtosPorPagina),

                Paginacao = new Paginacao()
                {
                    PaginaAtual = pagina,
                    ItensPorPagina = produtosPorPagina,
                    ItensTotal = categoria == null ? repositorio.Produtos.Count() : repositorio.Produtos.Where(p => p.Categoria == categoria).Count()
                },

                CategoriaAtual = categoria
            };

            return View(model);
        }