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