Esempio n. 1
0
        private List <Prova> CriarCenario()
        {
            try
            {
                var materias = db.Materias.ToList();
                var alunos   = db.Alunos.ToList();

                var provas = new List <Prova>();

                // laço cria as provas e atualiza a situação do aluno de acordo com as notas
                for (int i = 0; i < alunos.Count; i++)
                {
                    for (int j = 0; j < materias.Count; j++)
                    {
                        for (int k = 0; k < 3; k++)
                        {
                            var prova = ProvaFactory.NovaProva(materias[j].MateriaId, alunos[i].AlunoId, (k + 1));
                            provas.Add(prova);
                        }

                        var provasAlunoAtual = provas.Where(x => x.MateriaId == materias[j].MateriaId && x.AlunoId == alunos[i].AlunoId);


                        var media = CalcularFinal(provasAlunoAtual, materias[j]);

                        if (media >= 6)
                        {
                            alunos[i].Situacao = ESituacaoAluno.Aprovado;
                        }
                        else if (media <= 4)
                        {
                            alunos[i].Situacao = ESituacaoAluno.Reprovado;
                        }
                        else
                        {
                            alunos[i].Situacao = ESituacaoAluno.Final;
                            var final = ProvaFactory.ProvaFinal(materias[j].MateriaId, alunos[i].AlunoId, 4, media);

                            provas.Add(final);
                        }
                    }
                }

                foreach (var aluno in alunos)
                {
                    db.Entry(aluno).State = System.Data.Entity.EntityState.Modified;
                }


                db.SaveChanges();


                return(provas);
            }
            catch
            {
                throw;
            }
        }
Esempio n. 2
0
        public JsonResult GetProvas(int idAluno)
        {
            try
            {
                var provas      = db.Provas.Where(p => p.AlunoId == idAluno).ToList();
                var provasModel = ProvaFactory.ToProvaModel(provas);

                return(Json(new { provasModel, sucess = true }, JsonRequestBehavior.AllowGet));
            }
            catch (Exception e)
            {
                return(Json(new { mensagem = e.Message, statcktrace = e.StackTrace, sucess = false }, JsonRequestBehavior.AllowGet));
            }
        }