public string excluirAlternativa(Alternativa a)
 {
     string erro = null;
     try
     {
         db.Alternativa.DeleteObject(a);
         db.SaveChanges();
     }
     catch (Exception ex)
     {
         erro = ex.Message;
     }
     return erro;
 }
 public string adicionarAlternativa(Alternativa a)
 {
     string erro = null;
     try
     {
         db.Alternativa.AddObject(a);
         db.SaveChanges();
     }
     catch (Exception ex)
     {
         erro = ex.Message;
     }
     return erro;
 }
 public string editarAlternativa(Alternativa a)
 {
     string erro = null;
     try
     {
         if (a.EntityState == System.Data.EntityState.Detached)
         {
             db.Alternativa.Attach(a);
         }
         db.ObjectStateManager.ChangeObjectState(a, System.Data.EntityState.Modified);
         db.SaveChanges();
     }
     catch (Exception ex)
     {
         erro = ex.Message;
     }
     return erro;
 }
 /// <summary>
 /// Create a new Alternativa object.
 /// </summary>
 /// <param name="idAlternativa">Initial value of the idAlternativa property.</param>
 /// <param name="idPergunta">Initial value of the idPergunta property.</param>
 /// <param name="descricao">Initial value of the Descricao property.</param>
 public static Alternativa CreateAlternativa(global::System.Int32 idAlternativa, global::System.Int32 idPergunta, global::System.String descricao)
 {
     Alternativa alternativa = new Alternativa();
     alternativa.idAlternativa = idAlternativa;
     alternativa.idPergunta = idPergunta;
     alternativa.Descricao = descricao;
     return alternativa;
 }
 /// <summary>
 /// Deprecated Method for adding a new object to the Alternativa EntitySet. Consider using the .Add method of the associated ObjectSet&lt;T&gt; property instead.
 /// </summary>
 public void AddToAlternativa(Alternativa alternativa)
 {
     base.AddObject("Alternativa", alternativa);
 }
        public ActionResult EditResposta(Questao_Resposta qr, Alternativa a)
        {
            if (Roles.IsUserInRole(User.Identity.Name, "Aluno"))
            {
                ViewBag.idAlternativa
                    = new SelectList(alternativaModel.listarAlternativasPorPergunta(a.idPergunta),
                        "idAlternativa", "Descricao", a.idAlternativa);

                string erro = null;
                if (qr.idQuestaoResposta == 0)
                {
                    erro = questaoRespostaModel.adicionarQuestaoResposta(qr);
                }
                else
                {
                    erro = questaoRespostaModel.editarQuestaoResposta(qr);
                }
                if (erro == null)
                {
                    return RedirectToAction("RealizarAtividade", new { idAlunoAtividade = qr.idAlunoAtividade });
                }
                else
                {
                    ViewBag.Erro = erro;
                    return View(qr);
                }
            }
            return Redirect("/Shared/Restrito");
        }
 public ActionResult Editalternativa(Alternativa a, Pergunta p)
 {
     if (Roles.IsUserInRole(User.Identity.Name, "Professor"))
     {
         string erro = null;
         if (a.idAlternativa == 0)
         {
             erro = alternativaModel.adicionarAlternativa(a);
         }
         else
         {
             erro = alternativaModel.editarAlternativa(a);
         }
         if (erro == null)
         {
             if (p.idPergunta == 0)
             {
                 erro = "p.idPEssoa vazio";
             }
             return RedirectToAction("ListaAlternativas", new { idPergunta = a.idPergunta });
         }
         else
         {
             ViewBag.Erro = erro;
             return View(a);
         }
     }
     return Redirect("/Shared/Restrito");
 }
        public ActionResult EditAlternativa(int idAlternativa, int idPergunta)
        {
            if (Roles.IsUserInRole(User.Identity.Name, "Professor"))
            {
                Alternativa a = new Alternativa();
                a.idPergunta = idPergunta;
                if (idAlternativa != 0)
                {
                    a = alternativaModel.obterAlternativa(idAlternativa);
                }

                return View(a);
            }
            return Redirect("/Shared/Restrito");
        }
        public ActionResult Edit(Pergunta p, Tema t, NivelDificuldade nd, Alternativa al)
        {
            if (Roles.IsUserInRole(User.Identity.Name, "Professor"))
            {
                ViewBag.idTema
                    = new SelectList(temaModel.todosTemas(),
                        "idTema", "Descricao", t);

                ViewBag.idNivelDificuldade
                    = new SelectList(nivelDificuldadeModel.todosNiveisDificuldade(),
                        "idNivelDificuldade", "Descricao", nd);

                ViewBag.Correta
                    = new SelectList(alternativaModel.obterAlternativasPorPergunta(p.idPergunta),
                        "idAlternativa", "Descricao", al);

                if (!validarPergunta(p))
                {
                    ViewBag.Erro = "Erro na validação da Pergunta";
                    return View(p);
                }

                string erro = null;
                if (p.idPergunta == 0)
                {
                    erro = perguntaModel.adicionarPergunta(p);
                }
                else
                {
                    erro = perguntaModel.editarPergunta(p);
                }
                if (erro == null)
                {
                    if (p.Correta == 0)
                    {
                        return RedirectToAction("EditAlternativa", new { idAlternativa = 0, p.idPergunta });
                    }
                    else
                    {
                        return RedirectToAction("Index");
                    }

                }
                else
                {
                    ViewBag.Erro = erro;
                    return View(p);
                }
            }
            return Redirect("/Shared/Restrito");
        }