private List <PollReportMathStudentItem> BuscaDadosCA(string CodigoTurmaEol, string Proficiency, string Term, string codigoEscola, string CodigoCurso)
        {
            List <PollReportMathStudentItem> result = new List <PollReportMathStudentItem>();

            PollMatematica poll = new PollMatematica(_config);

            var listaAlunosTurma = poll.BuscarAlunosTurmaRelatorioMatematicaCA(CodigoTurmaEol,
                                                                               Proficiency,
                                                                               Term);

            foreach (var sondagem in listaAlunosTurma)
            {
                List <MathStudentItemResult> pollTotal = new List <MathStudentItemResult>();

                result.Add(
                    new PollReportMathStudentItem()
                {
                    Code        = sondagem.AlunoEolCode,
                    StudentName = sondagem.AlunoNome,
                    Poll        = pollTotal
                }
                    );

                string ano = "";
                for (int ordem = 1; ordem < 5; ordem++)
                {
                    MathStudentItemResult item = new MathStudentItemResult();
                    string ideia     = "";
                    string resultado = "";

                    switch (ordem)
                    {
                    case 1:
                        ideia       = ConverteTextoPollMatematica(sondagem.Ordem1Ideia);
                        resultado   = ConverteTextoPollMatematica(sondagem.Ordem1Resultado);
                        item.Idea   = ideia;
                        item.Order  = CadastraLegenda(Proficiency, ordem, CodigoCurso, false);
                        item.Result = resultado;
                        pollTotal.Add(item);
                        break;

                    case 2:
                        ideia       = ConverteTextoPollMatematica(sondagem.Ordem2Ideia);
                        resultado   = ConverteTextoPollMatematica(sondagem.Ordem2Resultado);
                        item.Idea   = ideia;
                        item.Order  = CadastraLegenda(Proficiency, ordem, CodigoCurso, false);
                        item.Result = resultado;
                        pollTotal.Add(item);
                        break;

                    case 3:
                        if (!CodigoCurso.Equals("2"))
                        {
                            ideia       = ConverteTextoPollMatematica(sondagem.Ordem3Ideia);
                            resultado   = ConverteTextoPollMatematica(sondagem.Ordem3Resultado);
                            item.Idea   = ideia;
                            item.Order  = CadastraLegenda(Proficiency, ordem, CodigoCurso, false);
                            item.Result = resultado;
                            pollTotal.Add(item);
                        }
                        break;

                    case 4:
                        if (!CodigoCurso.Equals("1") && !CodigoCurso.Equals("2") && !CodigoCurso.Equals("3"))
                        {
                            ideia       = ConverteTextoPollMatematica(sondagem.Ordem4Ideia);
                            resultado   = ConverteTextoPollMatematica(sondagem.Ordem4Resultado);
                            item.Idea   = ideia;
                            item.Order  = CadastraLegenda(Proficiency, ordem, CodigoCurso, false);
                            item.Result = resultado;
                            pollTotal.Add(item);
                        }
                        break;
                    }
                }
            }

            return(result);
        }
Ejemplo n.º 2
0
        private async Task <PollReportMathStudentResult> BuscaDadosCM(string CodigoTurmaEol, string Proficiency, string Term, string CodigoCurso, string schoolYear)
        {
            PollReportMathStudentResult      result    = new PollReportMathStudentResult();
            List <PollReportMathStudentItem> relatorio = new List <PollReportMathStudentItem>();
            List <MathChartDataModel>        graficos  = new List <MathChartDataModel>();

            PollMatematica poll             = new PollMatematica(_config);
            var            listaAlunosTurma = poll.BuscarAlunosTurmaRelatorioMatematicaCM(CodigoTurmaEol, Proficiency, Term);

            var alunosEol = await ObterAlunosEOL(schoolYear, CodigoTurmaEol, Term);

            var totalAlunosEol = alunosEol.Count();

            foreach (var aluno in alunosEol)
            {
                var sondagem = listaAlunosTurma.Where(s => s.AlunoEolCode == aluno.CodigoAluno.ToString()).FirstOrDefault();
                List <MathStudentItemResult> pollTotal = new List <MathStudentItemResult>();
                if (CodigoCurso.Equals("2"))
                {
                    MathStudentItemResult item = new MathStudentItemResult();
                    string ideia     = "";
                    string resultado = "";

                    ideia = sondagem != null?ConverteTextoPollMatematica(sondagem.Ordem3Ideia) : null;

                    resultado = sondagem != null?ConverteTextoPollMatematica(sondagem.Ordem3Resultado) : null;

                    item.Idea   = ideia;
                    item.Order  = CadastraLegenda(Proficiency, 3, CodigoCurso, false);
                    item.Result = resultado;
                    pollTotal.Add(item);
                }
                else
                {
                    for (int ordem = 4; ordem < 9; ordem++)
                    {
                        MathStudentItemResult item        = new MathStudentItemResult();
                        MathChartDataModel    itemGrafico = new MathChartDataModel();

                        string ideia     = "";
                        string resultado = "";

                        switch (ordem)
                        {
                        case 4:
                            if (CodigoCurso.Equals("3"))
                            {
                                ideia = sondagem != null?ConverteTextoPollMatematica(sondagem.Ordem4Ideia) : null;

                                resultado = sondagem != null?ConverteTextoPollMatematica(sondagem.Ordem4Resultado) : null;

                                item.Idea   = ideia;
                                item.Order  = CadastraLegenda(Proficiency, ordem, CodigoCurso, false);
                                item.Result = resultado;
                                pollTotal.Add(item);
                            }
                            break;

                        case 5:
                            ideia = sondagem != null?ConverteTextoPollMatematica(sondagem.Ordem5Ideia) : null;

                            resultado = sondagem != null?ConverteTextoPollMatematica(sondagem.Ordem5Resultado) : null;

                            item.Idea   = ideia;
                            item.Order  = CadastraLegenda(Proficiency, ordem, CodigoCurso, false);
                            item.Result = resultado;
                            pollTotal.Add(item);
                            break;

                        case 6:
                            if (!CodigoCurso.Equals("3"))
                            {
                                ideia = sondagem != null?ConverteTextoPollMatematica(sondagem.Ordem6Ideia) : null;

                                resultado = sondagem != null?ConverteTextoPollMatematica(sondagem.Ordem6Resultado) : null;

                                item.Idea   = ideia;
                                item.Order  = CadastraLegenda(Proficiency, ordem, CodigoCurso, false);
                                item.Result = resultado;
                                pollTotal.Add(item);
                            }
                            break;

                        case 7:
                            if (!CodigoCurso.Equals("3"))
                            {
                                ideia = sondagem != null?ConverteTextoPollMatematica(sondagem.Ordem7Ideia) : null;

                                resultado = sondagem != null?ConverteTextoPollMatematica(sondagem.Ordem7Resultado) : null;

                                item.Idea   = ideia;
                                item.Order  = CadastraLegenda(Proficiency, ordem, CodigoCurso, false);
                                item.Result = resultado;
                                pollTotal.Add(item);
                            }
                            break;

                        case 8:
                            if (!CodigoCurso.Equals("3") && !CodigoCurso.Equals("4"))
                            {
                                ideia = sondagem != null?ConverteTextoPollMatematica(sondagem.Ordem8Ideia) : null;

                                resultado = sondagem != null?ConverteTextoPollMatematica(sondagem.Ordem8Resultado) : null;

                                item.Idea   = ideia;
                                item.Order  = CadastraLegenda(Proficiency, ordem, CodigoCurso, false);
                                item.Result = resultado;
                                pollTotal.Add(item);
                            }
                            break;
                        }
                    }
                }

                relatorio.Add(
                    new PollReportMathStudentItem()
                {
                    Code        = aluno.CodigoAluno.ToString(),
                    StudentName = aluno.NomeAlunoRelatorio,
                    Poll        = pollTotal
                }
                    );
            }

            if (CodigoCurso.Equals("2"))
            {
                MathChartDataModel item = new MathChartDataModel();
                item.Name = CadastraLegenda(Proficiency, 3, CodigoCurso, true);
                item.Idea = new List <int> {
                    listaAlunosTurma.Where(p => p.Ordem3Ideia != null && p.Ordem3Ideia.Equals("A")).Count(),
                    listaAlunosTurma.Where(p => p.Ordem3Ideia != null && p.Ordem3Ideia.Equals("E")).Count(),
                    listaAlunosTurma.Where(p => p.Ordem3Ideia != null && p.Ordem3Ideia.Equals("NR")).Count(),
                    totalAlunosEol - listaAlunosTurma.Where(p => p.Ordem3Ideia != null &&
                                                            (p.Ordem3Ideia.Equals("A") || p.Ordem3Ideia.Equals("NR") || p.Ordem3Ideia.Equals("E"))).Count()
                };
                item.Result = new List <int> {
                    listaAlunosTurma.Where(p => p.Ordem3Resultado != null && p.Ordem3Resultado.Equals("A")).Count(),
                    listaAlunosTurma.Where(p => p.Ordem3Resultado != null && p.Ordem3Resultado.Equals("E")).Count(),
                    listaAlunosTurma.Where(p => p.Ordem3Resultado != null && p.Ordem3Resultado.Equals("NR")).Count(),
                    totalAlunosEol - listaAlunosTurma.Where(p => p.Ordem3Resultado != null &&
                                                            (p.Ordem3Resultado.Equals("A") || p.Ordem3Resultado.Equals("NR") || p.Ordem3Resultado.Equals("E"))).Count()
                };
                graficos.Add(item);
            }
            else
            {
                for (int ordem = 4; ordem < 11; ordem++)
                {
                    MathChartDataModel item = new MathChartDataModel();

                    switch (ordem)
                    {
                    case 4:
                        if (CodigoCurso.Equals("3"))
                        {
                            item.Name = CadastraLegenda(Proficiency, ordem, CodigoCurso, true);
                            item.Idea = new List <int> {
                                listaAlunosTurma.Where(p => p.Ordem4Ideia != null && p.Ordem4Ideia.Equals("A")).Count(),
                                listaAlunosTurma.Where(p => p.Ordem4Ideia != null && p.Ordem4Ideia.Equals("E")).Count(),
                                listaAlunosTurma.Where(p => p.Ordem4Ideia != null && p.Ordem4Ideia.Equals("NR")).Count(),
                                totalAlunosEol - listaAlunosTurma.Where(p => p.Ordem4Ideia != null &&
                                                                        (p.Ordem4Ideia.Equals("A") || p.Ordem4Ideia.Equals("NR") || p.Ordem4Ideia.Equals("E"))).Count()
                            };
                            item.Result = new List <int> {
                                listaAlunosTurma.Where(p => p.Ordem4Resultado != null && p.Ordem4Resultado.Equals("A")).Count(),
                                listaAlunosTurma.Where(p => p.Ordem4Resultado != null && p.Ordem4Resultado.Equals("E")).Count(),
                                listaAlunosTurma.Where(p => p.Ordem4Resultado != null && p.Ordem4Resultado.Equals("NR")).Count(),
                                totalAlunosEol - listaAlunosTurma.Where(p => p.Ordem4Resultado != null &&
                                                                        (p.Ordem4Resultado.Equals("A") || p.Ordem4Resultado.Equals("NR") || p.Ordem4Resultado.Equals("E"))).Count()
                            };
                            graficos.Add(item);
                        }
                        break;

                    case 5:
                        item.Name = CadastraLegenda(Proficiency, ordem, CodigoCurso, true);

                        item.Idea = new List <int> {
                            listaAlunosTurma.Where(p => p.Ordem5Ideia != null && p.Ordem5Ideia.Equals("A")).Count(),
                            listaAlunosTurma.Where(p => p.Ordem5Ideia != null && p.Ordem5Ideia.Equals("E")).Count(),
                            listaAlunosTurma.Where(p => p.Ordem5Ideia != null && p.Ordem5Ideia.Equals("NR")).Count(),
                            totalAlunosEol - listaAlunosTurma.Where(p => p.Ordem5Ideia != null &&
                                                                    (p.Ordem5Ideia.Equals("A") || p.Ordem5Ideia.Equals("NR") || p.Ordem5Ideia.Equals("E"))).Count()
                        };
                        item.Result = new List <int> {
                            listaAlunosTurma.Where(p => p.Ordem5Resultado != null && p.Ordem5Resultado.Equals("A")).Count(),
                            listaAlunosTurma.Where(p => p.Ordem5Resultado != null && p.Ordem5Resultado.Equals("E")).Count(),
                            listaAlunosTurma.Where(p => p.Ordem5Resultado != null && p.Ordem5Resultado.Equals("NR")).Count(),
                            totalAlunosEol - listaAlunosTurma.Where(p => p.Ordem5Resultado != null &&
                                                                    (p.Ordem5Resultado.Equals("A") || p.Ordem5Resultado.Equals("NR") || p.Ordem5Resultado.Equals("E"))).Count()
                        };
                        graficos.Add(item);
                        break;

                    case 6:
                        if (!CodigoCurso.Equals("3"))
                        {
                            item.Name = CadastraLegenda(Proficiency, ordem, CodigoCurso, true);
                            item.Idea = new List <int> {
                                listaAlunosTurma.Where(p => p.Ordem6Ideia != null && p.Ordem6Ideia.Equals("A")).Count(),
                                listaAlunosTurma.Where(p => p.Ordem6Ideia != null && p.Ordem6Ideia.Equals("E")).Count(),
                                listaAlunosTurma.Where(p => p.Ordem6Ideia != null && p.Ordem6Ideia.Equals("NR")).Count(),
                                totalAlunosEol - listaAlunosTurma.Where(p => p.Ordem6Ideia != null &&
                                                                        (p.Ordem6Ideia.Equals("A") || p.Ordem6Ideia.Equals("NR") || p.Ordem6Ideia.Equals("E"))).Count()
                            };
                            item.Result = new List <int> {
                                listaAlunosTurma.Where(p => p.Ordem6Resultado != null && p.Ordem6Resultado.Equals("A")).Count(),
                                listaAlunosTurma.Where(p => p.Ordem6Resultado != null && p.Ordem6Resultado.Equals("E")).Count(),
                                listaAlunosTurma.Where(p => p.Ordem6Resultado != null && p.Ordem6Resultado.Equals("NR")).Count(),
                                totalAlunosEol - listaAlunosTurma.Where(p => p.Ordem6Resultado != null &&
                                                                        (p.Ordem6Resultado.Equals("A") || p.Ordem6Resultado.Equals("NR") || p.Ordem6Resultado.Equals("E"))).Count()
                            };
                            graficos.Add(item);
                        }
                        break;

                    case 7:

                        if (!CodigoCurso.Equals("3"))
                        {
                            item.Name = CadastraLegenda(Proficiency, ordem, CodigoCurso, true);
                            item.Idea = new List <int> {
                                listaAlunosTurma.Where(p => p.Ordem7Ideia != null && p.Ordem7Ideia.Equals("A")).Count(),
                                listaAlunosTurma.Where(p => p.Ordem7Ideia != null && p.Ordem7Ideia.Equals("E")).Count(),
                                listaAlunosTurma.Where(p => p.Ordem7Ideia != null && p.Ordem7Ideia.Equals("NR")).Count(),
                                totalAlunosEol - listaAlunosTurma.Where(p => p.Ordem7Ideia != null &&
                                                                        (p.Ordem7Ideia.Equals("A") || p.Ordem7Ideia.Equals("NR") || p.Ordem7Ideia.Equals("E"))).Count()
                            };
                            item.Result = new List <int> {
                                listaAlunosTurma.Where(p => p.Ordem7Resultado != null && p.Ordem7Resultado.Equals("A")).Count(),
                                listaAlunosTurma.Where(p => p.Ordem7Resultado != null && p.Ordem7Resultado.Equals("E")).Count(),
                                listaAlunosTurma.Where(p => p.Ordem7Resultado != null && p.Ordem7Resultado.Equals("NR")).Count(),
                                totalAlunosEol - listaAlunosTurma.Where(p => p.Ordem7Ideia != null &&
                                                                        (p.Ordem7Ideia.Equals("A") || p.Ordem7Ideia.Equals("NR") || p.Ordem7Ideia.Equals("E"))).Count()
                            };
                            graficos.Add(item);
                        }
                        break;

                    case 8:

                        if (!CodigoCurso.Equals("3") && !CodigoCurso.Equals("4"))
                        {
                            item.Name = CadastraLegenda(Proficiency, ordem, CodigoCurso, true);
                            item.Idea = new List <int> {
                                listaAlunosTurma.Where(p => p.Ordem8Ideia != null && p.Ordem8Ideia.Equals("A")).Count(),
                                listaAlunosTurma.Where(p => p.Ordem8Ideia != null && p.Ordem8Ideia.Equals("E")).Count(),
                                listaAlunosTurma.Where(p => p.Ordem8Ideia != null && p.Ordem8Ideia.Equals("NR")).Count(),
                                totalAlunosEol - listaAlunosTurma.Where(p => p.Ordem8Ideia != null &&
                                                                        (p.Ordem8Ideia.Equals("A") || p.Ordem8Ideia.Equals("NR") || p.Ordem8Ideia.Equals("E"))).Count()
                            };
                            item.Result = new List <int> {
                                listaAlunosTurma.Where(p => p.Ordem8Resultado != null && p.Ordem8Resultado.Equals("A")).Count(),
                                listaAlunosTurma.Where(p => p.Ordem8Resultado != null && p.Ordem8Resultado.Equals("E")).Count(),
                                listaAlunosTurma.Where(p => p.Ordem8Resultado != null && p.Ordem8Resultado.Equals("NR")).Count(),
                                totalAlunosEol - listaAlunosTurma.Where(p => p.Ordem8Resultado != null &&
                                                                        (p.Ordem8Resultado.Equals("A") || p.Ordem8Resultado.Equals("NR") || p.Ordem8Resultado.Equals("E"))).Count()
                            };
                            graficos.Add(item);
                        }
                        break;
                    }
                }
            }

            result.Results   = relatorio;
            result.ChartData = graficos;

            return(result);
        }