protected void btnRemover_Click(object sender, EventArgs e)
        {
            if (grid.SelectedValue != null)
            {
                string ID = grid.SelectedValue.ToString();
                try
                {
                    using (ARCOS_Entities entities = new ARCOS_Entities())
                    {
                        GRUPO_PERMISSAO gp = entities.GRUPO_PERMISSAO.
                            FirstOrDefault(x => x.ID.ToString().Equals(ID));
                        entities.GRUPO_PERMISSAO.Remove(gp);
                        entities.SaveChanges();

                        //Limpar Grid
                        grid.DataSource = null;
                        grid.DataBind();
                        grid.SelectedIndex = -1;
                        Response.Write("<script>alert('Removido com sucesso!');</script>");
                    }
                }
                catch
                {
                    Response.Write("<script>alert('Falha ao remover registro!');</script>");
                }
            }
        }
        protected void btn_cadastrar_Click(object sender, EventArgs e)
        {
            if (txt_descricao.Text == "")
            {
                Response.Write("<script>alert('Há campos obrigatorios não preenchidos!');</script>");
            }
            else
            {
                try
                {
                    using (ARCOS_Entities entity = new ARCOS_Entities())
                    {
                        GRUPO_PERMISSAO gp = new GRUPO_PERMISSAO();


                        if (lblAcao.Text.Equals("NOVO"))
                        {
                            gp           = new GRUPO_PERMISSAO();
                            gp.DESCRICAO = txt_descricao.Text;
                            atualizaPermissao(gp);
                            entity.GRUPO_PERMISSAO.Add(gp);
                        }
                        else
                        {
                            gp           = entity.GRUPO_PERMISSAO.FirstOrDefault(x => x.ID.ToString().Equals(lblID.Text));
                            gp.DESCRICAO = txt_descricao.Text;
                            atualizaPermissao(gp);
                            entity.Entry(gp);
                        }
                        entity.SaveChanges();
                        limpar();

                        Response.Write("<script>alert('Grupo Permissão salvo com Sucesso!');</script>");
                    }
                }
                catch
                {
                    Response.Write("<script>alert('Registro não pode ser salvo!');</script>");
                }
            }
        }
 private void preenchePermissao(GRUPO_PERMISSAO gp)
 {
     tvPermissao.FindNode("Entidade/Entidade").Checked        = gp.PERM_ENTIDADE;
     tvPermissao.FindNode("Voluntario/Voluntarios").Checked   = gp.PERM_VOLUNTARIOS;
     tvPermissao.FindNode("Voluntario/Voluntariar").Checked   = gp.PERM_VOLUNTARIAR;
     tvPermissao.FindNode("Voluntario/Voluntariado").Checked  = gp.PERM_VOLUNTARIADO;
     tvPermissao.FindNode("Usuario/Usuarios").Checked         = gp.PERM_USUARIOS;
     tvPermissao.FindNode("Usuario/GrupoPermissao").Checked   = gp.PERM_GRUPOPERMISSAO;
     tvPermissao.FindNode("Evento/Eventos").Checked           = gp.PERM_EVENTO;
     tvPermissao.FindNode("Evento/TiposEvento").Checked       = gp.PERM_TIPOEVENTO;
     tvPermissao.FindNode("Recurso/Recursos").Checked         = gp.PERM_RECURSO;
     tvPermissao.FindNode("Recurso/TiposRecurso").Checked     = gp.PERM_TIPORECURSO;
     tvPermissao.FindNode("Fornecedor/Fornecedores").Checked  = gp.PERM_FORNECEDOR;
     tvPermissao.FindNode("Fornecedor/Fornecimento").Checked  = gp.PERM_FORNECIMENTO;
     tvPermissao.FindNode("Estoque/Produtos").Checked         = gp.PERM_PRODUTO;
     tvPermissao.FindNode("Estoque/TiposProduto").Checked     = gp.PERM_TIPOPRODUTO;
     tvPermissao.FindNode("Doacao/Doacoes").Checked           = gp.PERM_DOACAO;
     tvPermissao.FindNode("Doacao/Doadores").Checked          = gp.PERM_DOADOR;
     tvPermissao.FindNode("Assistencia/Assistencias").Checked = gp.PERM_ASSISTENCIA;;
     tvPermissao.FindNode("Assistencia/Assistidos").Checked   = gp.PERM_ASSISTIDO;
 }
 protected void Page_Load(object sender, EventArgs e)
 {
     if (!IsPostBack)
     {
         String ID = Request.QueryString["ID"];
         if ((ID != null) && (!ID.Equals("")))
         {
             using (ARCOS_Entities entities = new ARCOS_Entities())
             {
                 GRUPO_PERMISSAO gp = entities.GRUPO_PERMISSAO.
                                      FirstOrDefault(x => x.ID.ToString().Equals(ID));
                 if (gp != null)
                 {
                     lblID.Text         = ID;
                     txt_descricao.Text = gp.DESCRICAO;
                     lblAcao.Text       = "ALTERANDO";
                     preenchePermissao(gp);
                 }
             }
         }
     }
 }