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); }
public static void Inserir(AvalAcademica avalAcademica) { contexto.AvalAcademica.Add(avalAcademica); Questao.AtualizarDtUltimoUso(avalAcademica.Avaliacao.Questao); contexto.SaveChanges(); }
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(); }
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(); }