public ActionResult Edit(Tema t, Disciplina d)
        {
            ViewBag.idDisciplina
                = new SelectList(disciplinaModel.todasDisciplinas(),
                    "idDisciplina", "Descricao", d);

            if (!validarTema(t))
            {
                ViewBag.Erro = "Erro na validação do Tema";
                return View(t);
            }

            string erro = null;
            if (t.idTema == 0)
            {
                erro = temaModel.adicionarTema(t);
            }
            else
            {
                erro = temaModel.editarTema(t);
            }
            if (erro == null)
            {
                return RedirectToAction("Index");
            }
            else
            {
                ViewBag.Erro = erro;
                return View(t);
            }
        }
 public string adicionarDisciplina(Disciplina d)
 {
     string erro = null;
     try
     {
         db.Disciplina.AddObject(d);
         db.SaveChanges();
     }
     catch (Exception ex)
     {
         erro = ex.Message;
     }
     return erro;
 }
        public string excluirDisciplina(Disciplina d)
        {
            string erro = null;

            try
            {
                db.DeleteObject(d);
                db.SaveChanges();
            }
            catch (Exception ex)
            {
                erro = ex.Message;
            }
            return erro;
        }
        public string editarDisciplina(Disciplina d)
        {
            string erro = null;

            try
            {
                if (d.EntityState == System.Data.EntityState.Detached)
                {
                    db.Disciplina.Attach(d);
                }
                db.ObjectStateManager.ChangeObjectState(d,
                    System.Data.EntityState.Modified);
                db.SaveChanges();
            }
            catch (Exception ex)
            {
                erro = ex.Message;
            }
            return erro;
        }
        public ActionResult Edit(Disciplina d, Curso c)
        {
            if (Roles.IsUserInRole(User.Identity.Name, "Administrador"))
            {

                ViewBag.idCurso
                    = new SelectList(cursoModel.todosCursos(),
                        "idCurso", "Descricao", c);

                if (!validarDisciplina(d))
                {
                    ViewBag.Erro = "Erro na validação da Disciplina";
                    return View(d);
                }

                string erro = null;
                if (d.idDisciplina == 0)
                {
                    erro = disciplinaModel.adicionarDisciplina(d);
                }
                else
                {
                    erro = disciplinaModel.editarDisciplina(d);
                }
                if (erro == null)
                {
                    //return RedirectToAction("Index");
                    return RedirectToAction("ListaProfessorDisciplina", new { idDisciplina = d.idDisciplina });
                }
                else
                {
                    ViewBag.Erro = erro;
                    return View(d);
                }
            }
            return Redirect("/Shared/Restrito");
        }
        public ActionResult Edit(int id)
        {
            if (Roles.IsUserInRole(User.Identity.Name, "Administrador"))
            {
                Disciplina d = new Disciplina();
                ViewBag.Titulo = "Nova Disciplina";

                int idCurso = 1;

                if (id != 0)
                {
                    d = disciplinaModel.obterDisciplina(id);
                    idCurso = d.idCurso;
                    ViewBag.Titulo = "Editar Disciplina";
                }

                ViewBag.idCurso
                    = new SelectList(cursoModel.todosCursos(),
                        "idCurso", "Descricao", idCurso);

                return View(d);
            }
            return Redirect("/Shared/Restrito");
        }
        private bool validarDisciplina(Disciplina disciplina)
        {
            if (disciplina.Descricao == "")
                return false;
            if (disciplina.idCurso == null)
                return false;

            return true;
        }
 /// <summary>
 /// Deprecated Method for adding a new object to the Disciplina EntitySet. Consider using the .Add method of the associated ObjectSet&lt;T&gt; property instead.
 /// </summary>
 public void AddToDisciplina(Disciplina disciplina)
 {
     base.AddObject("Disciplina", disciplina);
 }
 /// <summary>
 /// Create a new Disciplina object.
 /// </summary>
 /// <param name="idDisciplina">Initial value of the idDisciplina property.</param>
 /// <param name="descricao">Initial value of the Descricao property.</param>
 /// <param name="idCurso">Initial value of the idCurso property.</param>
 public static Disciplina CreateDisciplina(global::System.Int16 idDisciplina, global::System.String descricao, global::System.Int32 idCurso)
 {
     Disciplina disciplina = new Disciplina();
     disciplina.idDisciplina = idDisciplina;
     disciplina.Descricao = descricao;
     disciplina.idCurso = idCurso;
     return disciplina;
 }
        public ActionResult EditCabecalho(cabecalhoAvaliacao c, Disciplina d, Turma t)
        {
            int idTurma2 = c.IdTurma;
            int idTurma3 = t.idTurma;
            int idDisciplina = c.IdDisciplina;

            if (perguntaModel.listarPerguntasPorDisciplinaPorDificuldade(idDisciplina, 3).Count < 10)
            {
                ViewBag.Insuficientes = "É necessário ao menos 10 perguntas dificeis desta disciplina para gerar uma avaliação.";
                return View("PerguntasInsuficientes");
            }
            else
            {
                if (perguntaModel.listarPerguntasPorDisciplinaPorDificuldade(idDisciplina, 2).Count < 10)
                {
                    ViewBag.Insuficientes = "É necessário ao menos 10 perguntas médias desta disciplina para gerar uma avaliação.";
                    return View("PerguntasInsuficientes");
                }
                else
                {
                    if (perguntaModel.listarPerguntasPorDisciplinaPorDificuldade(idDisciplina, 1).Count < 10)
                    {
                        ViewBag.Insuficientes = "É necessário ao menos 10 perguntas fáceis desta disciplina para gerar uma avaliação.";
                        return View("PerguntasInsuficientes");
                    }
                    else
                    {
                        return RedirectToAction("GerarAvaliacaoAutomatica", c);
                    }
                }
            }
        }
        public ActionResult Edit(Atividade a, Disciplina d, Turma t, Curso c)
        {
            if (Roles.IsUserInRole(User.Identity.Name, "Professor"))
            {
                ViewBag.idCurso
                    = new SelectList(cursoModel.todosCursos(),
                        "idCurso", "Descricao", c);

                ViewBag.idDisciplina
                    = new SelectList(disciplinaModel.todasDisciplinas(),
                        "idDisciplina", "Descricao", d);

                ViewBag.idTurma
                    = new SelectList(turmaModel.todasTurmas(),
                        "idTurma", "Identificacao", t);

                a.idStatus = 1; //Definindo Atividade como aberta
                a.idTipo = 1; //TIPO ATIVIDADE

                if (!validarAtividade(a))
                {
                    ViewBag.Erro = "Erro na validação da Atividade";
                    return View(a);
                }

                string erro = null;
                if (a.idAtividade == 0)
                {
                    erro = atividadeModel.adicionarAtividade(a);
                }
                else
                {
                    erro = atividadeModel.editarAtividade(a);
                }
                if (erro == null)
                {
                    return RedirectToAction("Index");
                }
                else
                {
                    ViewBag.Erro = erro;
                    return View(a);
                }
            }
            return Redirect("/Shared/Restrito");
        }