Exemple #1
0
        public ActionResult Index()
        {
            var viewModel = new ViewModel.DashboardViewModel();

            return(View("Index", viewModel));
        }
Exemple #2
0
 public DashboardView(Dashboard dashboard)
 {
     InitializeComponent();
     DataContext = new ViewModel.DashboardViewModel(dashboard);
 }
Exemple #3
0
        public ActionResult DashBoard(int Id, string data = null)
        {
            DateTime today = DateTime.Now;

            int quantidadeVisualizacoes = 0, quantidadeCliques = 0;

            var visualizacoesQuery = db.BannersVisualizacoesCliques.Where(x => x.CodigoBanner == Id && x.Visualizacao && !x.Clique).AsQueryable();
            var cliquesQuery       = db.BannersVisualizacoesCliques.Where(x => x.CodigoBanner == Id && !x.Visualizacao && x.Clique).AsQueryable();

            if (!string.IsNullOrEmpty(data))
            {
                DateTime dataInicial, dataFinal;

                string[] dataGeral = data.Split(new char[] { '-' });
                dataInicial = Convert.ToDateTime(dataGeral[0] + " 00:00:00");
                dataFinal   = Convert.ToDateTime(dataGeral[1] + " 23:59:59");

                visualizacoesQuery      = visualizacoesQuery.Where(x => x.DataCadastro >= dataInicial && x.DataCadastro <= dataFinal);
                quantidadeVisualizacoes = visualizacoesQuery.Count();

                cliquesQuery      = cliquesQuery.Where(x => x.DataCadastro >= dataInicial && x.DataCadastro <= dataFinal);
                quantidadeCliques = cliquesQuery.Count();
            }
            else
            {
                quantidadeCliques       = cliquesQuery.Count();
                quantidadeVisualizacoes = visualizacoesQuery.Count();
            }

            var banner = db.Banners.FirstOrDefault(x => !x.Excluido && x.Id == Id);

            if (banner != null)
            {
                var dataInicial = DateTime.Now.AddMonths(-12);

                var valorVisualizacao = db.BannersVisualizacoesCliques
                                        .Where(x => x.CodigoBanner == Id && x.Visualizacao && x.DataCadastro >= dataInicial && x.DataCadastro <= today)
                                        .ToList();


                var valorClique = db.BannersVisualizacoesCliques
                                  .Where(x => x.CodigoBanner == Id && x.Clique && x.DataCadastro >= dataInicial && x.DataCadastro <= today)
                                  .ToList();



                var graficoVisualizacao = (from c in valorVisualizacao
                                           group c by new
                {
                    c.DataCadastro.Month,
                    c.CodigoBanner
                } into g
                                           orderby
                                               (long) g.Count() descending
                                           select new ViewModel.ItensGrafico
                {
                    valor = (long)g.Count(),
                    texto = g.Key.Month.MonthName()
                }).ToList();

                graficoVisualizacao.Reverse();


                var graficoClique = (from c in valorClique
                                     group c by new
                {
                    c.DataCadastro.Month,
                    c.CodigoBanner
                } into g
                                     orderby
                                         (long) g.Count() descending
                                     select new ViewModel.ItensGrafico
                {
                    valor = (long)g.Count(),
                    texto = g.Key.Month.MonthName()
                }).ToList();

                graficoClique.Reverse();

                #region add list
                List <ViewModel.ItensGrafico> list = new List <ViewModel.ItensGrafico>();

                var obj = new ViewModel.ItensGrafico();
                obj.texto = "Visualizacoes";
                obj.valor = quantidadeVisualizacoes;
                list.Add(obj);

                var obj1 = new ViewModel.ItensGrafico();
                obj1.texto = "Cliques";
                obj1.valor = quantidadeCliques;

                list.Add(obj1);
                #endregion

                var viewModel = new ViewModel.DashboardViewModel
                {
                    grafico1Cliques       = graficoClique,
                    grafico1Visualizacoes = graficoVisualizacao,
                    qtdCliques            = quantidadeCliques,
                    qtdVisualizacoes      = quantidadeVisualizacoes,
                    grafico2 = list
                };

                ViewBag.Id = Id;
                return(View(viewModel));
            }

            return(RedirectToAction("Details", "Banner", new { Id = Id }));
        }