Exemple #1
0
        public ActionResult _Grafico()
        {
            var operacaoesRendimento = operacaoBLL.ListarOperacao(usuarioBLL.ConsultarUsuarioSessao(), TipoOperacao.Rendimento);

            var operacaoesPassivo = operacaoBLL.ListarOperacao(usuarioBLL.ConsultarUsuarioSessao(), TipoOperacao.Passivo);

            var dataIncial = DateTime.Today.AddMonths(Processos.Configuracao.Configuracao_Grafico_Meses_Anterior);

            var dataFinal = DateTime.Today.AddMonths(Processos.Configuracao.Configuracao_Grafico_Meses_Posterior);

            var listaMeses = utilBLL.RetornarRangeDeMeses(dataIncial, dataFinal);

            List <List <EixoX> > valoresEixoX = new List <List <EixoX> >();
            List <EixoX>         listaEixoX   = new List <EixoX>();

            listaEixoX.Add(GerarEixoXGrafico(operacaoesRendimento, TipoOperacao.Rendimento, System.Drawing.ColorTranslator.FromHtml("#57c5db"), "Rendimento", dataIncial, dataFinal));
            listaEixoX.Add(GerarEixoXGrafico(operacaoesPassivo, TipoOperacao.Passivo, System.Drawing.ColorTranslator.FromHtml("#FF5046"), "Despesa", dataIncial, dataFinal));

            valoresEixoX.Add(listaEixoX);

            var grafico = new GraficoDeAreaDTO()
            {
                EixoX         = valoresEixoX,
                Cor           = Color.White,
                CorBorda      = Color.White,
                Titulo        = string.Empty,
                EixoY         = listaMeses,
                TipoDeGrafico = ChartTypes.Areaspline
            };

            var retorno = new GraficoBLL().GerarGraficoDeAreas(grafico);

            return(PartialView(retorno));
        }
Exemple #2
0
        public Highcharts GerarGraficoDeAreas(GraficoDeAreaDTO pGrafico)
        {
            Highcharts columnChart = new Highcharts("areasplinechart");

            columnChart.InitChart(new Chart()
            {
                Type            = pGrafico.TipoDeGrafico,
                BackgroundColor = new BackColorOrGradient(pGrafico.Cor),
                Style           = "fontWeight: 'bold', fontSize: '17px'",
                BorderColor     = pGrafico.CorBorda,
                BorderRadius    = 0,
                BorderWidth     = 2
            });

            columnChart.SetTitle(new Title()
            {
                Text = pGrafico.Titulo
            });

            columnChart.SetXAxis(new XAxis()
            {
                Type  = AxisTypes.Category,
                Title = new XAxisTitle()
                {
                    Style = "fontWeight: 'bold', fontSize: '14px'"
                },
                Categories = pGrafico.EixoY.ToArray()
            });

            columnChart.SetYAxis(new YAxis()
            {
                Title = new YAxisTitle()
                {
                    Style = "fontWeight: 'bold', fontSize: '12px'"
                },
                ShowFirstLabel = true,
                ShowLastLabel  = true,
                Min            = 0
            });

            columnChart.SetCredits(new Credits()
            {
                Enabled = false
            });

            columnChart.SetLegend(new Legend
            {
                Enabled         = true,
                BorderColor     = System.Drawing.Color.CornflowerBlue,
                BorderRadius    = 6,
                BackgroundColor = new BackColorOrGradient(ColorTranslator.FromHtml("#FFADD8E6"))
            });

            List <Series> listaValoresX = new List <Series>();

            foreach (var item in pGrafico.EixoX)
            {
                foreach (var valoresX in item)
                {
                    var valores = new DotNet.Highcharts.Helpers.Data(valoresX.Valores.ToArray());

                    var serie = new Series()
                    {
                        Name = valoresX.Nome, Data = valores, Color = valoresX.Cor
                    };

                    listaValoresX.Add(serie);
                }
            }
            columnChart.SetSeries(listaValoresX.ToArray());
            return(columnChart);
        }