示例#1
0
        public async Task <RelatorioConsolidadoDTO> ObterRelatorioMatematicaAutoral(filtrosRelatorioDTO filtro)
        {
            IncluiIdDoComponenteCurricularEhDoPeriodoNoFiltro(filtro);
            int totalDeAlunos = await ConsultaTotalDeAlunos.BuscaTotalDeAlunosEOl(filtro);

            var query     = ConsultasRelatorios.QueryRelatorioMatematicaAutoral(filtro);
            var relatorio = new RelatorioConsolidadoDTO();

            using (var conexao = new NpgsqlConnection(Environment.GetEnvironmentVariable("sondagemConnection")))
            {
                relatorio.Perguntas = await RetornaRelatorioMatematica(filtro, conexao, query, totalDeAlunos);
            }

            relatorio.Graficos = new List <GraficosRelatorioDTO>();


            foreach (var pergunta in relatorio.Perguntas)
            {
                var grafico = new GraficosRelatorioDTO();
                grafico.nomeGrafico = pergunta.Nome;
                grafico.Barras      = new List <BarrasGraficoDTO>();
                pergunta.Respostas.ForEach(resposta =>
                {
                    var barra   = new BarrasGraficoDTO();
                    barra.label = resposta.Nome;
                    barra.value = resposta.quantidade;
                    grafico.Barras.Add(barra);
                });

                relatorio.Graficos.Add(grafico);
            }
            return(relatorio);
        }
示例#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);
    }