public ActionResult Index() { var viewModel = new ViewModel.DashboardViewModel(); return(View("Index", viewModel)); }
public DashboardView(Dashboard dashboard) { InitializeComponent(); DataContext = new ViewModel.DashboardViewModel(dashboard); }
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 })); }