Example #1
0
        private void ShowChildNode(TreeNode parentNode)
        {
            if (parentNode == null)
            {
                return;
            }

            parentNode.Nodes.Clear();

            List <ProcessFolder> folderList = ProcessCardBLL.GetProcessFolderList(parentNode.Tag.ToString());

            if (folderList == null || folderList.Count == 0)
            {
                return;
            }

            folderList.ForEach((f) =>
            {
                TreeNode node = new TreeNode();
                node.Text     = f.FolderName;
                node.Tag      = f.FolderId;
                node.Name     = f.ParentFolder;
                node.ImageKey = "folder";

                List <ProcessVersion> versionList = ProcessCardBLL.GetProcessCardByFolderId(f.FolderId, 2);
                if (versionList != null && versionList.Count > 0)
                {
                    versionList.ForEach((v) =>
                    {
                        TreeNode nd = new TreeNode();
                        nd.Text     = v.Name;
                        nd.Tag      = v.BaseId;
                        nd.Name     = v.Name;
                        nd.ImageKey = "planning";

                        ShowProcessCardByProcessPlanningId(new Guid(v.BaseId), nd);

                        node.Nodes.Add(nd);
                    }
                                        );
                }

                List <ProcessFolder> childFolderList = ProcessCardBLL.GetProcessFolderList(node.Tag.ToString());
                if (childFolderList != null && childFolderList.Count > 0)
                {
                    ShowChildNode(node);
                }

                parentNode.Nodes.Add(node);
            });
        }