Beispiel #1
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);
        }
Beispiel #2
0
        private static SondagemAluno CriaNovoAlunoSondagem(Sondagem sondagem, AlunoSondagemMatematicaDto alunoDto)
        {
            var aluno = new SondagemAluno()
            {
                Id             = Guid.NewGuid(),
                CodigoAluno    = alunoDto.CodigoAluno,
                SondagemId     = sondagem.Id,
                NomeAluno      = alunoDto.NomeAluno,
                ListaRespostas = new List <SondagemAlunoRespostas>()
            };

            var listaRespostasPeriodo = alunoDto.Respostas.Where(r => r.PeriodoId == sondagem.PeriodoId);

            foreach (var respostaDto in listaRespostasPeriodo)
            {
                var resposta = CriaNovaRespostaAluno(aluno, respostaDto);
                aluno.ListaRespostas.Add(resposta);
            }

            return(aluno);
        }
Beispiel #3
0
        private static void AdicionaOUAlteraAlunosERespostas(SMEManagementContextData contexto, Sondagem sondagem, AlunoSondagemMatematicaDto aluno)
        {
            var alunoSondagem = sondagem.AlunosSondagem.Where(a => a.CodigoAluno == aluno.CodigoAluno).FirstOrDefault();

            if (alunoSondagem != null)
            {
                if (aluno.Respostas == null || aluno.Respostas.Count == 0)
                {
                    contexto.SondagemAluno.Remove(alunoSondagem);
                }
                else
                {
                    AtualizaNovasRespostas(aluno, alunoSondagem, sondagem.PeriodoId);
                    RemoveRespostasSemValor(contexto, aluno, alunoSondagem);
                }
            }

            else
            {
                if (aluno.Respostas != null)
                {
                    if (aluno.Respostas.Any(r => r.PeriodoId == sondagem.PeriodoId))
                    {
                        var alunoNovoSondagem = CriaNovoAlunoSondagem(sondagem, aluno);
                        sondagem.AlunosSondagem.Add(alunoNovoSondagem);
                    }
                }
            }
        }