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