public ActionResult Resultados(int? id) { if (id == null) { return new HttpStatusCodeResult(HttpStatusCode.BadRequest); } Prova prova = db.Prova.Find(id); if (prova == null) { return HttpNotFound(); } ViewBag.ProvaID = prova.ProvaID; ResultadosViewModel model = new ResultadosViewModel(); model.Prova = prova; model.ListaResultado = new System.Collections.Generic.List<Resultado>(); using (CAppDataModel dc = new CAppDataModel()) { List<string> alunos = dc.Resposta.Where(re => re.ProvaID.Equals(prova.ProvaID) && re.isGabarito.Equals(0)).Select(m => m.CodigoAluno).Distinct().ToList(); List<Resposta> gabarito = dc.Resposta.Where(re => re.ProvaID.Equals(prova.ProvaID) && re.isGabarito.Equals(1)).ToList(); for (int i = 0; i < alunos.Count; i++) { string aluno = alunos.ElementAt(i); int acertos = 0; int totalDeQuestoes = gabarito.Count; List<Resposta> respostaAluno = dc.Resposta.Where(re => re.ProvaID.Equals(prova.ProvaID) && re.CodigoAluno.Equals(aluno)).ToList(); for (int j = 0; j < totalDeQuestoes; j++) { if (gabarito.ElementAt(j).Alternativa == respostaAluno.ElementAt(j).Alternativa) { acertos++; } } Resultado resultado = new Resultado(); resultado.Aluno = aluno; resultado.Nota = (10 * acertos) / totalDeQuestoes; model.ListaResultado.Add(resultado); } } return View(model); }
public ActionResult EditarGabarito(EditarGabaritoViewModel model) { if (ModelState.IsValid) { using (CAppDataModel dc = new CAppDataModel()) { foreach (Resposta r in model.ListaResposta) { var resposta = dc.Resposta.Where(re => re.ProvaID.Equals(r.ProvaID) && re.Questao.Equals(r.Questao)).FirstOrDefault(); if (resposta != null) { resposta.Alternativa = r.Alternativa; resposta.isGabarito = 1; UpdateModel(resposta); } else { dc.Resposta.Add(r); } } dc.SaveChanges(); } } return RedirectToAction("Index"); }
public ActionResult RespostaAluno(int? provaID, string alunoID) { if (provaID == null) { return new HttpStatusCodeResult(HttpStatusCode.BadRequest); } Prova prova = db.Prova.Find(provaID); if (prova == null) { return HttpNotFound(); } RespostaAlunoViewModel model = new RespostaAlunoViewModel(); model.Prova = prova; ViewBag.AlunoID = alunoID; using (CAppDataModel dc = new CAppDataModel()) { List<Resposta> resposta = dc.Resposta.Where(re => re.ProvaID.Equals(prova.ProvaID) && re.isGabarito.Equals(0) && re.CodigoAluno.Equals(alunoID)).ToList(); List<Resposta> gabarito = dc.Resposta.Where(re => re.ProvaID.Equals(prova.ProvaID) && re.isGabarito.Equals(1)).ToList(); model.RespostaAluno = resposta; model.RespostaGabarito = gabarito; } return View(model); }
public ActionResult EditarGabarito(int? id) { if (id == null) { return new HttpStatusCodeResult(HttpStatusCode.BadRequest); } Prova prova = db.Prova.Find(id); if (prova == null) { return HttpNotFound(); } ViewBag.Nome = prova.Nome; ViewBag.QtdQuestao = prova.QtdQuestoes; EditarGabaritoViewModel model = new EditarGabaritoViewModel(); model.ListaResposta = new System.Collections.Generic.List<Resposta>(); using (CAppDataModel dc = new CAppDataModel()) { var respostas = dc.Resposta.Where(re => re.ProvaID.Equals(prova.ProvaID) && re.isGabarito.Equals(1)); model.ListaResposta.AddRange(respostas); for (int i = respostas.Count(); i < prova.QtdQuestoes; i++) { Resposta r = new Resposta(); r.Alternativa = "A"; r.CodigoAluno = prova.ProfessorID.ToString(); r.ProvaID = prova.ProvaID; r.isGabarito = 1; r.Questao = i + 1; model.ListaResposta.Add(r); } } return View(model); }