示例#1
0
        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));
        }
示例#2
0
        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);
        }