/// <summary> /// metodo que remove um setor /// </summary> /// <param name="e"></param> private void RemoverSetor(DirectEventArgs e) { try { EmpresaSetorVO setor = new EmpresaSetorBO().SelectById(e.ExtraParams["id"].ToInt32()); SetRemovidoSetoresFilhos(setor.SetoresFilhos.ToList()); new EmpresaSetorBO(setor).DeleteUpdate(); HabilitaBotoes(false); ReloadNodes(e); } catch (Exception ex) { base.MostrarMensagem("Erro", "Erro ao tentar remover setor.", ""); } }
/// <summary> /// metodo que carrega os setores no treeview /// </summary> private Ext.Net.TreeNodeCollection CarregarSetores(Ext.Net.TreeNodeCollection nodes, EmpresaSetorVO sEdit) { if (nodes == null) { nodes = new Ext.Net.TreeNodeCollection(); } List<EmpresaSetorVO> setores = new EmpresaSetorBO().BuscarSetoresPai(null); //if (sEdit != null) // setores = setores.Where(x => x.Id != sEdit.Id).ToList(); Ext.Net.TreeNode root = new Ext.Net.TreeNode("Setores"); root.AllowChildren = true; root.Expanded = true; nodes.Add(root); List<EmpresaVO> empresas = setores.Select(x => x.Empresa).Distinct(new PropertyComparer<EmpresaVO>("Id")).ToList(); Boolean adicionouRemovido = false; Ext.Net.TreeNode node = new Ext.Net.TreeNode(); foreach (EmpresaVO e in empresas) { Ext.Net.TreeNode nodeE = new Ext.Net.TreeNode(); nodeE.Icon = Icon.Folder; nodeE.CustomAttributes.Add(new ConfigItem("Id", e.Id.ToString(), ParameterMode.Value)); nodeE.CustomAttributes.Add(new ConfigItem("Nome", e.Nome, ParameterMode.Value)); nodeE.CustomAttributes.Add(new ConfigItem("Empresa", "1", ParameterMode.Value)); nodeE.Text = e.Nome; // adiciona setor removido no treeview if (sEdit != null && e.Id == sEdit.Empresa.Id && sEdit.Removido) { adicionouRemovido = true; node = new Ext.Net.TreeNode(); node.NodeID = sEdit.Id.ToString(); node.Icon = Icon.ApplicationSideBoxes; node.CustomAttributes.Add(new ConfigItem("Id", sEdit.Id.ToString(), ParameterMode.Value)); node.CustomAttributes.Add(new ConfigItem("Nome", sEdit.Nome, ParameterMode.Value)); node.CustomAttributes.Add(new ConfigItem("Empresa", "0", ParameterMode.Value)); node.Text = sEdit.Nome; node.Leaf = true; nodeE.Nodes.Add(node); } foreach (EmpresaSetorVO s in setores.Where(x=> x.Empresa.Id == e.Id).ToList()) { node = new Ext.Net.TreeNode(); node.NodeID = s.Id.ToString(); node.Icon = Icon.ApplicationSideBoxes; node.CustomAttributes.Add(new ConfigItem("Id", s.Id.ToString(), ParameterMode.Value)); node.CustomAttributes.Add(new ConfigItem("Nome", s.Nome, ParameterMode.Value)); node.CustomAttributes.Add(new ConfigItem("Empresa", "0", ParameterMode.Value)); node.Text = s.Nome; if (s.SetoresFilhos != null && s.SetoresFilhos.Count > 0) { node.Expanded = true; CarregarSetoresFilhos(s.SetoresFilhos, node, sEdit); } else node.Leaf = true; nodeE.Nodes.Add(node); } root.Nodes.Add(nodeE); } // adiciona setor removido no treeview if (sEdit != null && !adicionouRemovido && sEdit.Removido) { Ext.Net.TreeNode nodeE = new Ext.Net.TreeNode(); nodeE.Icon = Icon.Folder; nodeE.CustomAttributes.Add(new ConfigItem("Id", sEdit.Empresa.Id.ToString(), ParameterMode.Value)); nodeE.CustomAttributes.Add(new ConfigItem("Nome", sEdit.Empresa.Nome, ParameterMode.Value)); nodeE.CustomAttributes.Add(new ConfigItem("Empresa", sEdit.Empresa.Id.ToString(), ParameterMode.Value)); nodeE.Text = sEdit.Empresa.Nome; node = new Ext.Net.TreeNode(); node.NodeID = sEdit.Id.ToString(); node.Icon = Icon.ApplicationSideBoxes; node.CustomAttributes.Add(new ConfigItem("Id", sEdit.Id.ToString(), ParameterMode.Value)); node.CustomAttributes.Add(new ConfigItem("Nome", sEdit.Nome, ParameterMode.Value)); node.CustomAttributes.Add(new ConfigItem("Empresa", "0", ParameterMode.Value)); node.Text = sEdit.Nome; node.Leaf = true; nodeE.Nodes.Add(node); root.Nodes.Add(nodeE); } node = new Ext.Net.TreeNode(); node.Icon = Icon.ApplicationSideBoxes; node.CustomAttributes.Add(new ConfigItem("Id", "", ParameterMode.Value)); node.CustomAttributes.Add(new ConfigItem("Nome", "[Nenhum]", ParameterMode.Value)); node.Text = "[Nenhum]"; root.Nodes.Insert(0, node); return nodes; }
/// <summary> /// metodo que carrega as páginas pai no treeview /// </summary> private Ext.Net.TreeNodeCollection CarregarSetores(Ext.Net.TreeNodeCollection nodes, EmpresaVO empresa, EmpresaSetorVO sEdit) { if (nodes == null) { nodes = new Ext.Net.TreeNodeCollection(); } List<EmpresaSetorVO> setores = new EmpresaSetorBO().BuscarSetoresPai(empresa); if (sEdit != null && sEdit.Removido && sEdit.SetorPai == null) { sEdit.SetoresFilhos = new List<EmpresaSetorVO>(); setores.Add(sEdit); } Ext.Net.TreeNode root = new Ext.Net.TreeNode("Setores"); root.AllowChildren = true; root.Expanded = true; nodes.Add(root); foreach (EmpresaSetorVO s in setores) { Ext.Net.TreeNode node = new Ext.Net.TreeNode(); node.NodeID = s.Id.ToString(); node.Icon = treeSetores.Icon; node.CustomAttributes.Add(new ConfigItem("Id", s.Id.ToString(), ParameterMode.Value)); node.CustomAttributes.Add(new ConfigItem("Nome", s.Nome, ParameterMode.Value)); node.Text = s.Nome; if (s.SetoresFilhos != null && s.SetoresFilhos.Count > 0) { node.Expanded = true; CarregarSetoresFilhos(s.SetoresFilhos, node, sEdit); } else node.Leaf = true; root.Nodes.Add(node); } Ext.Net.TreeNode node1 = new Ext.Net.TreeNode(); node1.Icon = treeSetores.Icon; node1.CustomAttributes.Add(new ConfigItem("Id", "", ParameterMode.Value)); node1.CustomAttributes.Add(new ConfigItem("Nome", "[Nenhum]", ParameterMode.Value)); node1.Text = "[Nenhum]"; root.Nodes.Insert(0, node1); return nodes; }