public ActionResult ConsultarMaterias() { try { List <MateriaConsultaViewModel> lista = new List <MateriaConsultaViewModel>(); MateriaRepository materiaRep = new MateriaRepository(); foreach (Materia materia in materiaRep.FindAll()) { lista.Add(new MateriaConsultaViewModel() { IdMateria = materia.IdMateria, Nome = materia.Nome, PesoProva1 = materia.PesoProva1, PesoProva2 = materia.PesoProva2, PesoProva3 = materia.PesoProva3 }); } return(Json(lista, JsonRequestBehavior.AllowGet)); } catch (Exception e) { return(Json(e.Message, JsonRequestBehavior.AllowGet)); } }
public void Simular() { MateriaRepository materiaRep = new MateriaRepository(); AlunoRepository alunoRep = new AlunoRepository(); MateriaAlunoRepository materiaAlunoRep = new MateriaAlunoRepository(); Random random = new Random(); //Exclui a simulação existente para incluir a nova(1(uma) sumulação por vez) foreach (MateriaAluno ma in materiaAlunoRep.FindAll()) { materiaAlunoRep.Delete(ma); } //Faz a nova simulação foreach (Materia materia in materiaRep.FindAll()) { foreach (Aluno aluno in alunoRep.FindAll()) { MateriaAluno ma = new MateriaAluno(); ma.IdMateria = materia.IdMateria; ma.IdAluno = aluno.IdAluno; ma.NotaProva1 = Math.Round(Convert.ToDecimal(random.NextDouble() * 10), 1); ma.NotaProva2 = Math.Round(Convert.ToDecimal(random.NextDouble() * 10), 1); ma.NotaProva3 = Math.Round(Convert.ToDecimal(random.NextDouble() * 10), 1); //calcula a média ponderada das notas para saber se precisa //simular a prova final decimal mediaPonderada = CalcularMediaPonderada( ma.NotaProva1, ma.NotaProva2, ma.NotaProva3, materia.PesoProva1, materia.PesoProva2, materia.PesoProva3); if (mediaPonderada > 4.0M && mediaPonderada < 6.0M) { //simula a prova final ma.NotaProvaFinal = Math.Round(Convert.ToDecimal(random.NextDouble() * 10), 1); } materiaAlunoRep.Insert(ma); } } }