private void AdicionarAlunosEOL(FiltrarListagemMatematicaDTO filtrarListagemDto, List <AlunosNaTurmaDTO> alunos, List <AlunoSondagemMatematicaDto> listagem) { alunos.ForEach(aluno => { var alunoBanco = listagem.FirstOrDefault(x => x.CodigoAluno.Equals(aluno.CodigoAluno.ToString())); if (alunoBanco != null) { alunoBanco.NumeroChamada = aluno.NumeroAlunoChamada; return; } listagem.Add(new AlunoSondagemMatematicaDto { CodigoAluno = aluno.CodigoAluno.ToString(), AnoLetivo = filtrarListagemDto.AnoLetivo, AnoTurma = filtrarListagemDto.AnoEscolar, CodigoDre = filtrarListagemDto.CodigoDre, CodigoTurma = filtrarListagemDto.CodigoTurma, CodigoUe = filtrarListagemDto.CodigoUe, NumeroChamada = aluno.NumeroAlunoChamada, ComponenteCurricular = filtrarListagemDto.ComponenteCurricular.ToString(), NomeAluno = aluno.NomeAluno, }); listagem.OrderBy(x => x.NumeroChamada); }); }
private static async Task <List <Sondagem> > ObterSondagemAutoralMatematica(FiltrarListagemMatematicaDTO filtrarListagemDto) { using (var contexto = new SMEManagementContextData()) { return(await contexto.Sondagem.Where(s => s.AnoLetivo == filtrarListagemDto.AnoLetivo && s.AnoTurma == filtrarListagemDto.AnoEscolar && s.CodigoDre == filtrarListagemDto.CodigoDre && s.CodigoUe == filtrarListagemDto.CodigoUe && s.ComponenteCurricularId.Equals(filtrarListagemDto.ComponenteCurricular.ToString()) && s.CodigoTurma == filtrarListagemDto.CodigoTurma). Include(x => x.AlunosSondagem).ThenInclude(x => x.ListaRespostas).ToListAsync()); } }
private static FiltrarListagemMatematicaDTO CriaFiltroListagemMatematica(IEnumerable <AlunoSondagemMatematicaDto> alunoSondagemMatematicaDto, string perguntaId) { var alunoFiltro = alunoSondagemMatematicaDto.First(); var filtroSondagem = new FiltrarListagemMatematicaDTO() { AnoEscolar = alunoFiltro.AnoTurma, AnoLetivo = alunoFiltro.AnoLetivo, CodigoDre = alunoFiltro.CodigoDre, CodigoTurma = alunoFiltro.CodigoTurma, CodigoUe = alunoFiltro.CodigoUe, ComponenteCurricular = alunoFiltro.ComponenteCurricular, PerguntaId = perguntaId, }; return(filtroSondagem); }
public async Task <IActionResult> ObterSondagemAutoral([FromQuery] FiltrarListagemMatematicaDTO filtrarListagemDto) { return(Ok(await sondagemAutoralBusiness.ObterListagemAutoral(filtrarListagemDto))); }
public async Task <IEnumerable <AlunoSondagemMatematicaDto> > ObterListagemAutoral(FiltrarListagemMatematicaDTO filtrarListagemDto) { var listaSondagem = await ObterSondagemAutoralMatematica(filtrarListagemDto); var listaAlunos = await TurmaApi.GetAlunosNaTurma(Convert.ToInt32(filtrarListagemDto.CodigoTurma), filtrarListagemDto.AnoLetivo, _token); var alunos = listaAlunos.Where(x => x.CodigoSituacaoMatricula == 10 || x.CodigoSituacaoMatricula == 1 || x.CodigoSituacaoMatricula == 6 || x.CodigoSituacaoMatricula == 13 || x.CodigoSituacaoMatricula == 5).ToList(); if (alunos == null || !alunos.Any()) { throw new Exception($"Não encontrado alunos para a turma {filtrarListagemDto.CodigoTurma} do ano letivo {filtrarListagemDto.AnoLetivo}"); } var listagem = new List <AlunoSondagemMatematicaDto>(); if (listaSondagem.Count > 0) { MapearAlunosListagemMatematica(listagem, listaSondagem); } AdicionarAlunosEOL(filtrarListagemDto, alunos, listagem); return(listagem.OrderBy(x => x.NumeroChamada)); }
private static async Task <Sondagem> ObterSondagemAutoralMatematicaPorPeriodo(FiltrarListagemMatematicaDTO filtrarListagemDto, string periodoId, SMEManagementContextData contexto) { return(await contexto.Sondagem.Where(s => s.PeriodoId == periodoId && s.AnoLetivo == filtrarListagemDto.AnoLetivo && s.AnoTurma == filtrarListagemDto.AnoEscolar && s.CodigoDre == filtrarListagemDto.CodigoDre && s.CodigoUe == filtrarListagemDto.CodigoUe && s.ComponenteCurricularId.Equals(filtrarListagemDto.ComponenteCurricular.ToString()) && s.CodigoTurma == filtrarListagemDto.CodigoTurma). Include(x => x.AlunosSondagem).ThenInclude(x => x.ListaRespostas).FirstOrDefaultAsync()); }
private Sondagem CriaNovaSondagem(IEnumerable <AlunoSondagemMatematicaDto> ListaAlunosSondagemDto, string periodoId, FiltrarListagemMatematicaDTO alunoFiltro) { var listaAlunosComRespostaDto = ListaAlunosSondagemDto.Where(x => x.Respostas != null).ToList(); if (listaAlunosComRespostaDto == null || listaAlunosComRespostaDto.Count == 0) { return(null); } var listaAlunosComRespostasDoPeriodoDto = listaAlunosComRespostaDto.Where(a => a.Respostas.Any(r => r.PeriodoId == periodoId)).ToList(); var sondagem = new Sondagem { Id = Guid.NewGuid(), AnoLetivo = alunoFiltro.AnoLetivo, AnoTurma = alunoFiltro.AnoEscolar, CodigoDre = alunoFiltro.CodigoDre, CodigoUe = alunoFiltro.CodigoUe, CodigoTurma = alunoFiltro.CodigoTurma, ComponenteCurricularId = alunoFiltro.ComponenteCurricular, AlunosSondagem = new List <SondagemAluno>(), PeriodoId = periodoId }; foreach (var alunoDto in listaAlunosComRespostasDoPeriodoDto) { var aluno = CriaNovoAlunoSondagem(sondagem, alunoDto); sondagem.AlunosSondagem.Add(aluno); } ; return(sondagem); }