예제 #1
0
        public List <GraficoReDe> Grafico()
        {
            int r = 0;
            int d = 0;

            DateTime DataAtual = DateTime.Now.AddMonths(-5);
            DateTime Data      = DateTime.Parse("01" + DataAtual.ToString("/MM/yyyy"));

            var receita = dashboardBusiness.ColunaReceita(User.Identity.Name, Data);
            var despesa = dashboardBusiness.ColunaDespesa(User.Identity.Name, Data);

            List <GraficoReDe> lista = new List <GraficoReDe>();

            foreach (var re in receita)
            {
                foreach (var de in despesa)
                {
                    if (re.Mes == de.Mes)
                    {
                        lista.Add(new GraficoReDe()
                        {
                            ValorReceita = re.Valor,
                            ValorDespesa = de.Valor,
                            Mes          = re.Mes,
                            Ano          = re.Ano
                        });

                        r++;
                    }
                }
                if (r == 0)
                {
                    lista.Add(new GraficoReDe()
                    {
                        ValorReceita = re.Valor,
                        ValorDespesa = 0,
                        Mes          = re.Mes,
                        Ano          = re.Ano
                    });
                }
                r = 0;
            }

            foreach (var de in despesa)
            {
                foreach (var re in receita)
                {
                    if (de.Mes == re.Mes)
                    {
                        d++;
                    }
                }
                if (d == 0)
                {
                    lista.Add(new GraficoReDe()
                    {
                        ValorReceita = 0,
                        ValorDespesa = de.Valor,
                        Mes          = de.Mes,
                        Ano          = de.Ano
                    });
                }
                d = 0;
            }

            return(lista = lista.OrderBy(l => l.Ano).OrderBy(l => l.Mes).ToList());
        }