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); }