Пример #1
0
        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);
        }