Exemple #1
0
    private List <GraficoOrdem> CriaGraficosConsolidados(RelatorioConsolidadoCapacidadeLeituraDTO relatorio)
    {
        var listaGraficos = new List <GraficoOrdem>();

        relatorio.RelatorioPorOrdem.ForEach(o =>
        {
            var graficoOrdem              = new GraficoOrdem();
            graficoOrdem.Ordem            = o.Ordem;
            graficoOrdem.perguntasGrafico = new List <Grafico>();
            o.Perguntas.ForEach(p =>
            {
                var grafico         = new Grafico();
                grafico.NomeGrafico = p.Nome;


                p.Respostas.ForEach(r =>
                {
                    var barra   = new GraficoBarra();
                    barra.Label = r.Nome;
                    barra.Value = r.quantidade;
                    grafico.Barras.Add(barra);
                });

                graficoOrdem.perguntasGrafico.Add(grafico);
            });
            listaGraficos.Add(graficoOrdem);
        });

        return(listaGraficos);
    }
Exemple #2
0
    public async Task <RelatorioConsolidadoCapacidadeLeituraDTO> ObterRelatorioCapacidadeLeitura(RelatorioPortuguesFiltroDto filtro)
    {
        var filtrosRelatorio = CriaMapFiltroRelatorio(filtro);
        int totalDeAlunos    = await ConsultaTotalDeAlunos.BuscaTotalDeAlunosEOl(filtrosRelatorio);

        var query     = ConsultasRelatorios.MontaQueryConsolidadoCapacidadeLeitura(filtro);
        var relatorio = new RelatorioConsolidadoCapacidadeLeituraDTO();
        var ListaPerguntaEhRespostasRelatorio = await RetornaListaDehPerguntasEhRespostas(filtro, query);

        var relatorioAgrupado = ListaPerguntaEhRespostasRelatorio.GroupBy(p => p.OrdermId).ToList();

        relatorio.RelatorioPorOrdem = RetornaRelatorioPorOrdens(totalDeAlunos, relatorioAgrupado);
        relatorio.Graficos          = CriaGraficosConsolidados(relatorio);
        return(relatorio);
    }