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 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); }