public void TestesLinq() { int pagina = 1; int produtosPorPagina = 10; var repositorio = new ProdutosRepositorio(); //obtém os produtos por página //exemplo: se a página for 2, então o skip irá pular a página 1, e o take vai obter 3 produtos var produtos = repositorio.Produtos.OrderBy(p => p.ProdutoDescricao)//ordena por descrição do produto. .Skip((pagina - 1) * produtosPorPagina) .Take(produtosPorPagina); var teste = produtos.ToList(); }
// GET: Produto public ActionResult Index() { _repositorio = new ProdutosRepositorio(); //var produtos = _repositorio.Produtos.Take(3); //pega apenas dez produtos var produto = new Produto { ProdutoId = 1, CorCodigo = "AZ", MarcaDescricao = "Marca1", ModeloDescricao = "Modelo1", Preco = 15.50M, ProdutoCodigo = "1", ProdutoDescricao = "Produto1", ProdutoDescricaoResumida = "prod1", ProdutoModeloCodigo = "ModeloCodigo1" }; var produtos = new List<Produto>(); produtos.Add(produto); return View(produtos); }
// GET: Vitrine public ViewResult ListaProdutos(int pagina = 1) { _repositorio = new ProdutosRepositorio(); //obtém os produtos por página //exemplo: se a página for 2, então o skip irá pular a página 1, e o take vai obter 10 produtos ProdutoViewModel model = new ProdutoViewModel() { Produtos = _repositorio.Produtos.OrderBy(p => p.ProdutoDescricao)//ordena por descrição do produto. .Skip((pagina - 1) * ProdutosPorPagina) .Take(ProdutosPorPagina), Paginacao = new Paginacao { PaginaAtual = pagina, ItensPorPagina = ProdutosPorPagina, ItensTotal = _repositorio.Produtos.Count() } }; return View(model); }