/// <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; }