private List <ResumoPAPGraficoDto> ObterGraficos(ResumoPAPTotalEstudantesDto totalEstudantes, ResumoPAPTotalEstudantePorFrequenciaDto totalFrequencia, IEnumerable <ResumoPAPTotalResultadoDto> encaminhamento, IEnumerable <ResumoPAPTotalResultadoDto> resultado)
        {
            var graficos = new List <ResumoPAPGraficoDto>();

            if (totalEstudantes != null)
            {
                AdicionarTotalEstudantes(totalEstudantes, graficos);
            }

            if (totalFrequencia != null)
            {
                AdicionarTotalFrequencia(totalFrequencia, graficos);
            }

            if (encaminhamento != null && encaminhamento.Any())
            {
                AdicionarEncaminhamento(encaminhamento, graficos);
            }

            if (resultado != null && resultado.Any())
            {
                AdicionarResultado(resultado, graficos);
            }

            return(graficos);
        }
        private void AdicionarTotalEstudantes(ResumoPAPTotalEstudantesDto totalEstudantes, List <ResumoPAPGraficoDto> graficos)
        {
            var grafico    = new ResumoPAPGraficoDto();
            var legendas   = new List <GraficoBarrasLegendaDto>();
            int chaveIndex = 0;

            grafico.Titulo = "Total Estudantes";

            var graficoAno = new ResumoPAPGraficoAnoDto(420, "Total Estudante");

            foreach (var ano in totalEstudantes.Anos)
            {
                string chave = lstChaves[chaveIndex++].ToString();

                legendas.Add(new GraficoBarrasLegendaDto()
                {
                    Chave = chave,
                    Valor = $"{ano.AnoDescricao}"
                });

                graficoAno.EixosX.Add(new GraficoBarrasPAPVerticalEixoXDto(ano.Quantidade, (decimal)Math.Round(ano.Porcentagem, 0), chave));
            }

            var valorMaximoEixo = graficoAno.EixosX.Max(a => int.Parse(a.Valor.ToString()));

            graficoAno.EixoYConfiguracao = new GraficoBarrasPAPVerticalEixoYDto(350, "Alunos", valorMaximoEixo.ArredondaParaProximaDezena(), 10);
            graficoAno.Legendas          = legendas;

            grafico.Graficos.Add(graficoAno);

            graficos.Add(grafico);
        }