public async Task <ActionResult> ListarSondagemPortugues(ClassRoomModel classRoomModel) { try { var classRoomDataTransfer = new ClassRoomFilter() { classroomCodeEol = classRoomModel.classroomCodeEol, dreCodeEol = classRoomModel.dreCodeEol, schoolCodeEol = classRoomModel.schoolCodeEol, schoolYear = classRoomModel.schoolYear, yearClassroom = classRoomModel.yearClassroom }; var BusinessPoll = new Data.Business.PollPortuguese(_config); var ListStudentPollPortuguese = await BusinessPoll.ListStudentPollPortuguese(classRoomDataTransfer); if (ListStudentPollPortuguese != null) { return(Ok(ListStudentPollPortuguese)); } else { return(NoContent()); } } catch (System.Exception ex) { return(StatusCode(500, ex)); } }
private async Task <PollReportPortugueseResult> BuscarDadosSyncAsync(ParametersModel parameters, string anoLetivo, string codigoDre, string codigoEscola, string codigoCurso) { var BusinessPoll = new Data.Business.PollPortuguese(_config); return(await BusinessPoll.BuscarDadosRelatorioPortugues(parameters.Proficiency, parameters.Term, anoLetivo, codigoDre, codigoEscola, codigoCurso)); ; }
public async Task <ActionResult> IncluirSondagemPortugues(List <StudentPollPortuguese> ListStudentPollPortuguese) { try { var BusinessPollPortuguese = new Data.Business.PollPortuguese(_config); BusinessPollPortuguese.InsertPollPortuguese(ListStudentPollPortuguese); return(Ok()); } catch (System.Exception ex) { return(StatusCode(500, ex)); } }
private async Task <PollReportPortugueseStudentResult> BuscarDadosPorTurmaAsync(ParametersModel parameters) { var BusinessPoll = new Data.Business.PollPortuguese(_config); var listaAlunosTurma = await BusinessPoll.BuscarAlunosTurmaRelatorioPortugues(parameters.CodigoTurmaEol, parameters.Proficiency, parameters.Term);//ajustar para pegar a turma List <PollReportPortugueseStudentItem> result = new List <PollReportPortugueseStudentItem>(); List <PortChartDataModel> graficos = new List <PortChartDataModel>(); foreach (var sondagem in listaAlunosTurma) { string tipo = ConverterProficienciaAluno(parameters.Proficiency, parameters.Term, sondagem); result.Add( new PollReportPortugueseStudentItem() { Code = sondagem.studentCodeEol, StudentName = sondagem.studentNameEol, StudentValue = tipo } ); graficos.Add(new PortChartDataModel() { Name = tipo, Value = 1 }); } PollReportPortugueseStudentResult retorno = new PollReportPortugueseStudentResult(); retorno.Results = result; var listaGrafico = graficos.GroupBy(fu => fu.Name).Select(g => new { Label = g.Key, Value = g.Count() }).ToList(); graficos = new List <PortChartDataModel>(); foreach (var item in listaGrafico) { graficos.Add(new PortChartDataModel() { Name = item.Label, Value = item.Value }); } retorno.ChartData = graficos; return(retorno); }
public async Task <ActionResult <string> > ObterDados([FromBody] ParametersModel parameters) { var businessPoll = new Data.Business.PollPortuguese(_config); if (int.Parse(parameters.CodigoCurso) >= 7 && parameters.Discipline == "Matemática") { var filtro = new filtrosRelatorioDTO() { AnoEscolar = int.Parse(parameters.CodigoCurso), AnoLetivo = int.Parse(parameters.SchoolYear), CodigoDre = parameters.CodigoDRE, CodigoUe = parameters.CodigoEscola, CodigoTurmaEol = parameters.CodigoTurmaEol, DescricaoDisciplina = parameters.Discipline, DescricaoPeriodo = parameters.Term, }; var obj = new RelatorioMatematicaAutoral(); if (parameters.ClassroomReport) { var relatorioPorTurma = await obj.ObterRelatorioPorTurma(filtro); return(Ok(relatorioPorTurma)); } var relatorioConsolidado = await obj.ObterRelatorioMatematicaAutoral(filtro); return(Ok(relatorioConsolidado)); } Periodo periodo = await businessPoll.ObterPeriodoRelatorioPorDescricao(parameters.Term); if (parameters.Discipline == "Língua Portuguesa") { if (parameters.ClassroomReport) { if (Convert.ToInt32(parameters.CodigoCurso) < 4) { PollReportPortugueseStudentResult result = new PollReportPortugueseStudentResult(); result = await BuscarDadosPorTurmaAsync(parameters, periodo); return(Ok(result)); } if (parameters.GrupoId != null && parameters.GrupoId.Equals("e27b99a3-789d-43fb-a962-7df8793622b1")) { var relatorioCapacidadeLeitura = new RelatorioPortuguesCapacidadeLeitura(); var relatorio = await relatorioCapacidadeLeitura.ObterRelatorioCapacidadeLeituraPorTurma(new RelatorioPortuguesFiltroDto { AnoEscolar = Convert.ToInt32(parameters.CodigoCurso), AnoLetivo = Convert.ToInt32(parameters.SchoolYear), CodigoDre = parameters.CodigoDRE, CodigoUe = parameters.CodigoEscola, ComponenteCurricularId = "c65b2c0a-7a58-4d40-b474-23f0982f14b1", GrupoId = "e27b99a3-789d-43fb-a962-7df8793622b1", PeriodoId = periodo.Id, CodigoTurma = parameters.CodigoTurmaEol }); return(Ok(relatorio)); } return(Ok(await ObterRelatorioProducaoTextoLeituraVozAlta(parameters, periodo))); } else { if (periodo == null) { return(StatusCode(500, $"Não foi possivel encontrar o périodo com descrição {parameters.Term}")); } if (Convert.ToInt32(parameters.CodigoCurso) < 4) { PollReportPortugueseResult result = new PollReportPortugueseResult(); result = await BuscarDadosSyncAsync(parameters, parameters.SchoolYear, parameters.CodigoDRE, parameters.CodigoEscola, parameters.CodigoCurso, businessPoll, periodo); return(Ok(result)); } if (parameters.GrupoId.Equals("e27b99a3-789d-43fb-a962-7df8793622b1")) { var relatorioCapacidadeLeitura = new RelatorioPortuguesCapacidadeLeitura(); var relatorioCapacidade = await relatorioCapacidadeLeitura.ObterRelatorioCapacidadeLeitura(new RelatorioPortuguesFiltroDto { AnoEscolar = Convert.ToInt32(parameters.CodigoCurso), AnoLetivo = Convert.ToInt32(parameters.SchoolYear), CodigoDre = parameters.CodigoDRE, CodigoUe = parameters.CodigoEscola, ComponenteCurricularId = "c65b2c0a-7a58-4d40-b474-23f0982f14b1", GrupoId = "e27b99a3-789d-43fb-a962-7df8793622b1", PeriodoId = periodo.Id }); return(Ok(relatorioCapacidade)); } return(Ok(await BuscarDadosAutoralAsync(parameters, periodo.Id))); } } else if (parameters.Discipline == "Matemática") { if (parameters.ClassroomReport) { if (parameters.Proficiency == "Números") { PollReportMathStudentNumbersResult result = await BuscaDadosMathTurmaNumbersAsync(parameters.Proficiency, parameters.Term, parameters.CodigoDRE, parameters.CodigoEscola, parameters.CodigoTurmaEol, parameters.CodigoCurso, parameters.SchoolYear); return(Ok(result)); } else { PollReportMathStudentResult result = await BuscaDadosMathTurmaAsync(parameters.Proficiency, parameters.Term, parameters.CodigoDRE, parameters.CodigoEscola, parameters.CodigoTurmaEol, parameters.CodigoCurso, parameters.SchoolYear); return(Ok(result)); } } else // cONSOLIDADO { var result = await BuscaDadosMathAsync(parameters, parameters.SchoolYear, parameters.CodigoDRE, parameters.CodigoEscola, parameters.CodigoCurso, periodo); return(Ok(result)); } } return(NotFound()); }
private async Task <PollReportPortugueseStudentResult> BuscarDadosPorTurmaAsync(ParametersModel parameters, Periodo periodo) { var BusinessPoll = new Data.Business.PollPortuguese(_config); var alunosBusiness = new AlunosBusiness(_config); var alunosEol = await alunosBusiness.ObterAlunosEOL(parameters.SchoolYear, parameters.CodigoTurmaEol, parameters.Term); var listaAlunosTurma = await BusinessPoll.BuscarAlunosTurmaRelatorioPortugues( parameters.CodigoTurmaEol, parameters.Proficiency, parameters.Term, periodo, Convert.ToInt32(parameters.SchoolYear), parameters.CodigoDRE, parameters.CodigoEscola, parameters.CodigoCurso);//ajustar para pegar a turma List <PollReportPortugueseStudentItem> result = new List <PollReportPortugueseStudentItem>(); List <PortChartDataModel> graficos = new List <PortChartDataModel>(); foreach (var aluno in alunosEol) { var sondagem = listaAlunosTurma.FirstOrDefault(s => s.studentCodeEol == aluno.CodigoAluno.ToString()); string tipo = ConverterProficienciaAluno(parameters.Proficiency, parameters.Term, sondagem); result.Add( new PollReportPortugueseStudentItem() { Code = aluno.CodigoAluno.ToString(), StudentName = aluno.NomeAlunoRelatorio, StudentValue = tipo } ); graficos.Add(new PortChartDataModel() { Name = tipo, Value = 1 }); } PollReportPortugueseStudentResult retorno = new PollReportPortugueseStudentResult(); retorno.Results = result; var listaGrafico = graficos.GroupBy(fu => fu.Name).Select(g => new { Label = g.Key, Value = g.Count() }).ToList(); graficos = new List <PortChartDataModel>(); foreach (var item in listaGrafico) { if (!string.IsNullOrWhiteSpace(item.Label)) { graficos.Add(new PortChartDataModel() { Name = item.Label, Value = item.Value }); } } retorno.ChartData = graficos.OrderBy(a => a.Name).ToList(); var semPreenchimento = listaGrafico.FirstOrDefault(a => string.IsNullOrWhiteSpace(a.Label)); if (semPreenchimento != null) { retorno.ChartData.Add(new PortChartDataModel() { Name = "Sem Preenchimento", Value = semPreenchimento.Value }); } return(retorno); }