Exemplo n.º 1
0
        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);
            });
        }
Exemplo n.º 2
0
 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());
     }
 }
Exemplo n.º 3
0
        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);
        }
Exemplo n.º 4
0
 public async Task <IActionResult> ObterSondagemAutoral([FromQuery] FiltrarListagemMatematicaDTO filtrarListagemDto)
 {
     return(Ok(await sondagemAutoralBusiness.ObterListagemAutoral(filtrarListagemDto)));
 }
Exemplo n.º 5
0
        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));
        }
Exemplo n.º 6
0
 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());
 }
Exemplo n.º 7
0
        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);
        }