public ActionResult Edit(Usuario u, Perfil p)
        {
            if (Roles.IsUserInRole(User.Identity.Name, "Administrador"))
            {
                ViewBag.idPerfil
                    = new SelectList(perfilModel.todosPerfis(),
                        "idPerfil", "Descricao", p);

                if (!validarUsuario(u))
                {
                    ViewBag.Erro = "Erro na validação do Usuario";
                    return View(u);
                }

                string erro = null;
                if (u.idUsuario == 0)
                {
                    erro = usuarioModel.adicionarUsuario(u);
                }
                else
                {
                    erro = usuarioModel.editarUsuario(u);
                }
                if (erro == null)
                {
                    return RedirectToAction("../endereco/Edit/0");
                }
                else
                {
                    ViewBag.Erro = erro;
                    return View(u);
                }
            }
            return Redirect("/Shared/Restrito");
        }
 public string adicionarPerfil(Perfil p)
 {
     string erro = null;
     try
     {
         db.Perfil.AddObject(p);
         db.SaveChanges();
     }
     catch (Exception ex)
     {
         erro = ex.Message;
     }
     return erro;
 }
        public string excluirPerfil(Perfil p)
        {
            string erro = null;

            try
            {
                db.DeleteObject(p);
                db.SaveChanges();
            }
            catch (Exception ex)
            {
                erro = ex.Message;
            }
            return erro;
        }
        public string editarPerfil(Perfil p)
        {
            string erro = null;

            try
            {
                if (p.EntityState == System.Data.EntityState.Detached)
                {
                    db.Perfil.Attach(p);
                }
                db.ObjectStateManager.ChangeObjectState(p,
                    System.Data.EntityState.Modified);
                db.SaveChanges();
            }
            catch (Exception ex)
            {
                erro = ex.Message;
            }
            return erro;
        }
 /// <summary>
 /// Deprecated Method for adding a new object to the Perfil EntitySet. Consider using the .Add method of the associated ObjectSet&lt;T&gt; property instead.
 /// </summary>
 public void AddToPerfil(Perfil perfil)
 {
     base.AddObject("Perfil", perfil);
 }
 /// <summary>
 /// Create a new Perfil object.
 /// </summary>
 /// <param name="idPerfil">Initial value of the idPerfil property.</param>
 /// <param name="descricao">Initial value of the Descricao property.</param>
 public static Perfil CreatePerfil(global::System.Int32 idPerfil, global::System.String descricao)
 {
     Perfil perfil = new Perfil();
     perfil.idPerfil = idPerfil;
     perfil.Descricao = descricao;
     return perfil;
 }
        public ActionResult EditUsuario(Usuario u, Perfil p, Pessoa pa)
        {
            if (Roles.IsUserInRole(User.Identity.Name, "Administrador"))
            {
                u.idPerfil = 1;

                string erro = null;
                if (u.idUsuario == 0)
                {
                    erro = usuarioModel.adicionarUsuario(u);
                }
                else
                {
                    erro = usuarioModel.editarUsuario(u);
                }
                if (erro == null)
                {
                    if (pa.idPessoa == 0)
                    {
                        erro = "p.idPEssoa vazio";
                    }
                    return RedirectToAction("EditEndereco", new { idEndereco = 0, pa.idPessoa });
                }
                else
                {
                    ViewBag.Erro = erro;
                    return View(u);
                }
            }
            return Redirect("/Shared/Restrito");
        }
        public ActionResult EditUsuarioProfessor(Usuario u, Perfil p, Pessoa pa)
        {
            u.idPerfil = 2;

            string erro = null;
            if (u.idUsuario == 0)
            {
                erro = usuarioModel.adicionarUsuario(u);
            }
            else
            {
                erro = usuarioModel.editarUsuario(u);
            }
            if (erro == null)
            {
                if (pa.idPessoa == 0)
                {
                    erro = "p.idPEssoa vazio";
                }
                return RedirectToAction("EditEndereco", new { idEndereco = 0, pa.idPessoa });
            }
            else
            {
                ViewBag.Erro = erro;
                return View(u);
            }
        }
        public ActionResult EditTelefone(Telefone t, TipoTelefone tt, Pessoa p, Perfil perfil)
        {
            if (Roles.IsUserInRole(User.Identity.Name, "Administrador"))
            {
                ViewBag.idTipoTelefone
                    = new SelectList(tipoTelefoneModel.todosTiposTelefones(),
                        "idTipoTelefone", "Descricao", tt);

                string erro = null;
                if (t.idTelefone == 0)
                {
                    erro = telefoneModel.adicionarTelefone(t);
                }
                else
                {
                    erro = telefoneModel.editarTelefone(t);
                }
                if (erro == null)
                {
                    if (p.idPessoa == 0)
                    {
                        erro = "p.idPEssoa vazio";
                    }
                    return RedirectToAction("IndexProfessor");
                }
                else
                {
                    ViewBag.Erro = erro;
                    return View(t);
                }
            }
            return Redirect("/Shared/Restrito");
        }