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