public ActionResult Index(int?page) { var pagination = new PaginationDTO(); pagination.ActualPageNumber = (page ?? 1); var model = new RelatoriosDeProdutosModel(); model.Produtos = new List <ProdutoModel>(); model.TopMaisAvaliado = new List <ProdutoModel>(); model.TopMenosAvaliado = new List <ProdutoModel>(); model = produtoRepo.RelTopProdutos(1, pagination.ActualPageNumber); if (model != null && model.Produtos.Any()) { pagination.RowsPerPage = model.Produtos.FirstOrDefault().RowsPerPage; pagination.TotalRows = model.Produtos.FirstOrDefault().TotalRows; ViewBag.Produtos = new StaticPagedList <ProdutoModel>(model.Produtos.ToList(), pagination.ActualPageNumber, pagination.RowsPerPage, pagination.TotalRows); } else { model.Produtos = new List <ProdutoModel>(); ViewBag.Produtos = new StaticPagedList <ProdutoModel>(model.Produtos.ToList(), 1, 1, pagination.TotalRows); } return(View(model)); }
public RelatoriosDeProdutosModel RelTopProdutos(int?idCliente, int page) { var model = new RelatoriosDeProdutosModel(); model.Produtos = new List <ProdutoModel>(); model.TopMaisAvaliado = new List <ProdutoModel>(); model.TopMenosAvaliado = new List <ProdutoModel>(); using (var ctx = new DataBaseContext()) { var cmd = ctx.Database.Connection.CreateCommand(); cmd.CommandText = "exec RelProdutos 1,1,1," + page; ///mudar no futuro!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ctx.Database.Connection.Open(); var reader = cmd.ExecuteReader(); model.TopMaisAvaliado = ((IObjectContextAdapter)ctx).ObjectContext .Translate <ProdutoModel>(reader).ToList(); model.TopMaisAvaliado.ForEach(x => { x.MediaTotal = StringExtensions.RetornaClassificacaoGeral(x.s1, x.s2, x.s3, x.s4, x.s5, x.TotalAvaliacoes); }); reader.NextResult(); model.TopMenosAvaliado = ((IObjectContextAdapter)ctx).ObjectContext .Translate <ProdutoModel>(reader).ToList(); model.TopMenosAvaliado.ForEach(x => { x.MediaTotal = StringExtensions.RetornaClassificacaoGeral(x.s1, x.s2, x.s3, x.s4, x.s5, x.TotalAvaliacoes); }); reader.NextResult(); model.Produtos = ((IObjectContextAdapter)ctx).ObjectContext .Translate <ProdutoModel>(reader).ToList(); model.Produtos.ForEach(x => { x.MediaTotal = StringExtensions.RetornaClassificacaoGeral(x.s1, x.s2, x.s3, x.s4, x.s5, x.TotalAvaliacoes); }); ctx.Database.Connection.Close(); } return(model); }