Пример #1
0
 /// <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;
        }
Пример #3
0
        /// <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;
        }