public IActionResult Grafico() { List <GraficoProdutos> lista = new GraficoProdutos().RetornarGrafico(); string valores = ""; string labels = ""; string cores = ""; var random = new Random(); //Percorre a lista de itens para compor o gráfico for (int i = 0; i < lista.Count; i++) { valores += lista[i].QtdeVendido.ToString() + ","; labels += "'" + lista[i].DescricaoProduto.ToString() + "',"; //Escolher aleatoriamente as cores para compor o gráfico tipo torta cores += "'" + String.Format("#{0:X6}", random.Next(0x1000000)) + "',"; } ViewBag.Valores = valores; ViewBag.Labels = labels; ViewBag.Cores = cores; return(View()); }
public List <GraficoProdutos> RetornarGrafico() { var listaProdutos = (from i in _context.ItensVenda join p in _context.Produto on i.ProdutoId equals p.Id select new { p.Nome, i.QuantidadeProduto }) .GroupBy(t => t.Nome) .Select(gp => new { Nome = gp.Key, QuantidadeProduto = gp.Sum(c => c.QuantidadeProduto), }); List <GraficoProdutos> lista = new List <GraficoProdutos>(); GraficoProdutos item; foreach (var ls in listaProdutos) { item = new GraficoProdutos(); item.QtdeVendido = ls.QuantidadeProduto; item.DescricaoProduto = ls.Nome; lista.Add(item); } return(lista); }
public IActionResult Grafico() { List <GraficoProdutos> lista = new GraficoProdutos().RetornarGrafico(); string valores = ""; string labels = ""; string cores = ""; var random = new Random(); for (int i = 0; i < lista.Count; i++) { valores += lista[i].QtdeVendido.ToString() + ","; labels += "'" + lista[i].DescricaoProduto.ToString() + "',"; //Cor aleatória. cores += "'" + String.Format("#{0:x6}", random.Next(0x1000000)) + "',"; } ViewBag.Valores = valores; ViewBag.Labels = labels; ViewBag.Cores = cores; return(View()); }