Beispiel #1
0
        public static bool CorrigirQuestaoAluno(string codAvaliacao, string matrAluno, int codQuestao, double notaObtida, string profObservacao)
        {
            if (!StringExt.IsNullOrWhiteSpace(codAvaliacao, matrAluno) && codQuestao != 0)
            {
                AvalAcademica acad            = AvalAcademica.ListarPorCodigoAvaliacao(codAvaliacao);
                Aluno         aluno           = Aluno.ListarPorMatricula(matrAluno);
                int           codPessoaFisica = aluno.Usuario.PessoaFisica.CodPessoa;

                AvalQuesPessoaResposta resposta = acad.Avaliacao.PessoaResposta.FirstOrDefault(pr => pr.CodQuestao == codQuestao && pr.CodPessoaFisica == codPessoaFisica);

                resposta.RespNota       = notaObtida;
                resposta.ProfObservacao = profObservacao;

                acad.Avaliacao.AvalPessoaResultado
                .Single(r => r.CodPessoaFisica == codPessoaFisica)
                .Nota = acad.Avaliacao.PessoaResposta
                        .Where(pr => pr.CodPessoaFisica == codPessoaFisica)
                        .Average(pr => pr.RespNota);

                contexto.SaveChanges();

                return(true);
            }

            return(false);
        }
Beispiel #2
0
        public static void Inserir(AvalAcademica avalAcademica)
        {
            contexto.AvalAcademica.Add(avalAcademica);

            Questao.AtualizarDtUltimoUso(avalAcademica.Avaliacao.Questao);

            contexto.SaveChanges();
        }
Beispiel #3
0
 public static void RecalcularResultados(string codigo = "")
 {
     if (String.IsNullOrEmpty(codigo))
     {
         foreach (var acad in contexto.AvalAcademica.ToList())
         {
             foreach (var avalPessoaResultado in acad.Avaliacao.AvalPessoaResultado)
             {
                 foreach (var pessoaResposta in acad.Avaliacao.PessoaResposta.Where(r => r.CodPessoaFisica == avalPessoaResultado.CodPessoaFisica).ToList())
                 {
                     if (pessoaResposta.AvalTemaQuestao.QuestaoTema.Questao.CodTipoQuestao == TipoQuestao.OBJETIVA)
                     {
                         if (pessoaResposta.RespAlternativa == pessoaResposta.AvalTemaQuestao.QuestaoTema.Questao.Alternativa.Single(a => a.FlagGabarito).CodOrdem)
                         {
                             pessoaResposta.RespNota = 10;
                         }
                         else
                         {
                             pessoaResposta.RespNota = 0;
                         }
                     }
                 }
                 avalPessoaResultado.Nota = acad.Avaliacao.PessoaResposta
                                            .Where(pr => pr.CodPessoaFisica == avalPessoaResultado.CodPessoaFisica)
                                            .Average(pr => pr.RespNota);
             }
         }
     }
     else
     {
         AvalAcademica acad = AvalAcademica.ListarPorCodigoAvaliacao(codigo);
         foreach (var avalPessoaResultado in acad.Avaliacao.AvalPessoaResultado)
         {
             foreach (var pessoaResposta in acad.Avaliacao.PessoaResposta.Where(r => r.CodPessoaFisica == avalPessoaResultado.CodPessoaFisica).ToList())
             {
                 if (pessoaResposta.AvalTemaQuestao.QuestaoTema.Questao.CodTipoQuestao == TipoQuestao.OBJETIVA)
                 {
                     if (pessoaResposta.RespAlternativa == pessoaResposta.AvalTemaQuestao.QuestaoTema.Questao.Alternativa.Single(a => a.FlagGabarito).CodOrdem)
                     {
                         pessoaResposta.RespNota = 10;
                     }
                     else
                     {
                         pessoaResposta.RespNota = 0;
                     }
                 }
             }
             avalPessoaResultado.Nota = acad.Avaliacao.PessoaResposta
                                        .Where(pr => pr.CodPessoaFisica == avalPessoaResultado.CodPessoaFisica)
                                        .Average(pr => pr.RespNota);
         }
     }
     contexto.SaveChanges();
 }
Beispiel #4
0
        public static void Agendar(AvalAcademica avalAcad)
        {
            AvalAcademica temp = contexto.AvalAcademica.FirstOrDefault(acad => acad.Ano == avalAcad.Ano && acad.Semestre == avalAcad.Semestre && acad.NumIdentificador == avalAcad.NumIdentificador && acad.CodTipoAvaliacao == avalAcad.CodTipoAvaliacao);

            temp.Turma = avalAcad.Turma;
            temp.Sala  = avalAcad.Sala;
            temp.Avaliacao.DtAplicacao = avalAcad.Avaliacao.DtAplicacao;
            temp.Avaliacao.Duracao     = avalAcad.Avaliacao.Duracao;

            contexto.SaveChanges();
        }