public Chart GetProdutosParaGrafico(long?[] produtoId, tamanho?t) { Chart result = new Chart(); var listaLabels = new List <string>(); var listaValues = new List <int>(); var list = new List <Produto>(); if (produtoId[0] != null) { for (int i = 0; i < produtoId.Length; i++) { list.Add(_produtoDAO.SelectProdutos().Where(p => p.Id == produtoId[i]).First()); list.Where(pc => pc.Id == produtoId[i]) .First().Propriedades = _produtoDAO.SelectProdutosPropriedades() .Where(pcp => pcp.ProdutoId == produtoId[i]) .ToList(); } } else { foreach (var item in _produtoDAO.SelectProdutos()) { item.Propriedades = _produtoDAO.SelectProdutosPropriedades().Where(prod => prod.ProdutoId == item.Id).ToList(); list.Add(item); } } list.ForEach(c => { listaLabels.Add(string.Format("{0}-{1}", c.Codigo, c.Nome)); }); if (t == null) { int soma = 0; foreach (var prod in list) { foreach (var prodpriets in prod.Propriedades) { soma += prodpriets.Unidades; } listaValues.Add(soma); soma = 0; } } else { list.ForEach(p => { listaValues.Add(p.Propriedades.Where(pp => pp.Tamanho == t).First().Unidades); }); } result.Labels = listaLabels; result.Values = listaValues; return(result); }