/// <summary>
 /// metodo que remove um menupagina
 /// </summary>
 /// <param name="e"></param>
 private void RemoverMenuPagina(DirectEventArgs e)
 {
     try
     {
         MenuPaginaVO menuPagina = new MenuPaginaBO().SelectById(e.ExtraParams["id"].ToInt32());
         SetRemovidoPaginasFilhas(menuPagina.MenuPaginas.ToList());
         new MenuPaginaBO(menuPagina).DeleteUpdate();
         HabilitaBotoes(false);
         ReloadNodes(e);
     }
     catch (Exception ex)
     {
         base.MostrarMensagem("Erro", "Erro ao tentar remover pagina.", "");
     }
 }
        /// <summary>
        /// metodo que carrega as páginas pai no treeview
        /// </summary>
        private Ext.Net.TreeNodeCollection CarregarPaginas(Ext.Net.TreeNodeCollection nodes, Boolean isDrop, MenuPaginaVO pEdit)
        {
            if (nodes == null)
            {
                nodes = new Ext.Net.TreeNodeCollection();
            }

            List<MenuPaginaVO> paginas = new MenuPaginaBO().BuscarPaginasPai();
            if (pEdit != null)
                paginas = paginas.Where(x => x.Id != pEdit.Id).ToList();

            Ext.Net.TreeNode root = new Ext.Net.TreeNode("Página");
            root.AllowChildren = true;
            root.Expanded = true;

            nodes.Add(root);

            foreach (MenuPaginaVO p in paginas.OrderBy(x => x.Ordem).ToList())
            {
                Ext.Net.TreeNode node = new Ext.Net.TreeNode();
                node.NodeID = p.Id.ToString();
                node.Icon = p.Icone.IsNullOrEmpty() ? Icon.None : (Icon)Enum.Parse(typeof(Icon), p.Icone);
                node.CustomAttributes.Add(new ConfigItem("Id", p.Id.ToString(), ParameterMode.Value));
                node.CustomAttributes.Add(new ConfigItem("Descricao", p.Descricao, ParameterMode.Value));
                node.CustomAttributes.Add(new ConfigItem("Url", p.Url, ParameterMode.Value));
                node.CustomAttributes.Add(new ConfigItem("EmMenu", p.EmMenu ? "Sim" : "Não", ParameterMode.Value));
                node.CustomAttributes.Add(new ConfigItem("Ordem", p.Ordem.ToString(), ParameterMode.Value));
                node.Text = p.Descricao;
                if (p.MenuPaginas != null && p.MenuPaginas.Count > 0)
                {
                    node.Expanded = true;
                    CarregarPaginasFilhas(p.MenuPaginas, node, pEdit);
                }
                else
                    node.Leaf = true;
                root.Nodes.Add(node);
            }

            if (isDrop)
            {
                Ext.Net.TreeNode node = new Ext.Net.TreeNode();
                node.Icon = Icon.Folder;
                node.CustomAttributes.Add(new ConfigItem("Id", "", ParameterMode.Value));
                node.CustomAttributes.Add(new ConfigItem("Descricao", "[Nenhuma]", ParameterMode.Value));
                node.CustomAttributes.Add(new ConfigItem("Url", "", ParameterMode.Value));
                node.CustomAttributes.Add(new ConfigItem("EmMenu", "", ParameterMode.Value));
                node.CustomAttributes.Add(new ConfigItem("Ordem", "", ParameterMode.Value));
                node.Text = "[Nenhuma]";
                root.Nodes.Insert(0, node);
            }

            return nodes;
        }