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