Ejemplo n.º 1
0
        /// <summary>
        /// 方法说明:根据BusinessId删除模版或文件夹
        /// 作      者:jason.tang
        /// 完成时间:2013-07-22
        /// </summary>
        /// <param name="Id">业务ID</param>
        private void RemoveTreeNode(TreeNode currentNode)
        {
            //TreeNode lastNode = currentNode.PrevNode;
            //if (lastNode == null)
            //{
            //    lastNode = currentNode.Parent;

            //    if (lastNode == null)
            //    {
            //        return;
            //    }
            //    lastNode.Expand();

            //}


            if (currentNode == null)
            {
                return;
            }

            Guid businessId = new Guid(currentNode.Tag.ToString());
            bool result     = CardManagerBLL.DeleteBusiness(businessId);

            if (result)
            {
                //Remove oneself Cache
                cardManagerDic.Remove(currentNode.Name.ToString());

                List <CardManager> cardList = cardManagerDic[currentNode.Parent.Name];
                var afterCardList           = cardList.Where <CardManager>(
                    x => x.CurrentNode.ToString() != currentNode.Name)
                                              .ToList <CardManager>();

                cardManagerDic[currentNode.Parent.Name] = afterCardList;

                if (!string.IsNullOrEmpty(currentNode.Parent.ImageKey))
                {
                    tvProcessCard.SelectedNode     = currentNode.Parent;
                    tvProcessCard.SelectedImageKey = currentNode.Parent.ImageKey;
                }
                else
                {
                    tvProcessCard.SelectedNode = tvProcessCard.Nodes[0];
                    ///  如果选中的节点为空,默认为卡片
                    tvProcessCard.SelectedImageKey = tvProcessCard.Nodes[0].ImageKey;
                }

                //Remove treeview
                tvProcessCard.Nodes.Remove(currentNode);
                tvProcessCard.SelectedNode.Expand();
            }
        }
Ejemplo n.º 2
0
        /// <summary>
        /// get data from dic or database
        /// </summary>
        /// <param name="nodeName"></param>
        /// <returns></returns>
        public List <CardManager> GetTreeData(string nodeName)
        {
            List <CardManager> cardManagerList = null;

            if (!cardManagerDic.ContainsKey(nodeName))
            {
                cardManagerList =
                    CardManagerBLL.GetCardManagerListById(int.Parse(nodeName));
                cardManagerDic.Add(nodeName, cardManagerList);
            }
            else
            {
                cardManagerList = cardManagerDic[nodeName];
            }
            return(cardManagerList);
        }
Ejemplo n.º 3
0
        private void btnAdd_Click(object sender, EventArgs e)
        {
            try
            {
                int currentNode = CardManagerBLL.AddBusiness(
                    txtBusinessName.Text.Trim(),
                    (int)BusinessModule.BType,
                    BusinessModule.ParentNode, BusinessModule.BusinessId);

                /// 当前节点的Level
                CurrentNode       = currentNode;
                this.DialogResult = DialogResult.OK;
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
                this.DialogResult = DialogResult.Cancel;
            }
        }
Ejemplo n.º 4
0
        /// <summary>
        /// Get card manager list
        /// </summary>
        /// <param name="nodeName"></param>
        /// <returns></returns>
        public void LoadTreeData()
        {
            if (tvProcessCard.InvokeRequired)
            {
                LoadTreeEventHandler loadtreeEventHandler = new LoadTreeEventHandler(() =>
                {
                    try
                    {
                        CardManager cardManager =
                            CardManagerBLL.GetCardManagerListById(0).FirstOrDefault <CardManager>();

                        //if (cardManager == null) return;
                        //如果数据库内没有记录,则默认增加一条root记录
                        if (cardManager == null)
                        {
                            cardManager             = new CardManager();
                            cardManager.Name        = "工艺模版";
                            cardManager.BusinessId  = Guid.NewGuid();
                            cardManager.CurrentNode = CardManagerBLL.AddBusiness(cardManager.Name, 0, 0, cardManager.BusinessId);
                        }

                        TreeNode root = new TreeNode();
                        root.Text     = cardManager.Name;
                        root.Tag      = cardManager.BusinessId;
                        root.ImageKey = "folder_o";
                        root.Name     = cardManager.CurrentNode.ToString();
                        root.Expand();

                        ShowChildNode(root);

                        tvProcessCard.Nodes.Add(root);
                    }
                    catch (Exception ex)
                    {
                        MessageBox.Show(ex.Message);
                    }
                });
                tvProcessCard.BeginInvoke(loadtreeEventHandler, new object[] { });
            }
        }
Ejemplo n.º 5
0
        public void LoadCardData()
        {
            //List<Model.ProcessCard> listProcessCard = Kingdee.CAPP.BLL.ProcessCardBLL.GetDefaultProcessCardList();
            //dgvCard.DataSource = listProcessCard;
            
            
            try
            {
                tvProcessCard.Nodes.Clear();

                CardManager cardManager =
                    CardManagerBLL.GetCardManagerListById(-1).FirstOrDefault<CardManager>();

                //if (cardManager == null) return;
                //如果数据库内没有记录,则默认增加一条root记录
                if (cardManager == null)
                {
                    cardManager = new CardManager();
                    cardManager.Name = "工艺卡片";
                    cardManager.BusinessId = Guid.NewGuid();
                    cardManager.CurrentNode = CardManagerBLL.AddBusiness(cardManager.Name, -1, -1, cardManager.BusinessId);
                }

                TreeNode root = new TreeNode();
                root.Text = cardManager.Name;
                root.Tag = " ";
                root.ImageKey = "folder_o";
                root.Expand();

                ShowChildNode(root);

                tvProcessCard.Nodes.Add(root);
            }
            catch //(Exception ex)
            {
                //MessageBox.Show(ex.Message);
            }

        }
Ejemplo n.º 6
0
        /// <summary>
        /// New add module or folder common method
        /// </summary>
        public void AddModuleOrFolder(BusinessType type, ProcessCardModule cardModule)
        {
            TreeNode node = tvProcessCard.SelectedNode;

            ///如果整个Treeview都没有选中的话
            if (node == null)
            {
                node = tvProcessCard.Nodes[0];
            }

            /// 避免直接新建时选中卡片或其他的节点
            while (node.ImageKey != "folder" && node.ImageKey != "folder_o")
            {
                node = node.Parent;
            }

            Guid businessId = Guid.NewGuid();

            CardManager businessModule = new CardManager();

            businessModule.BType      = type;
            businessModule.ParentNode = int.Parse(node.Name);

            if (cardModule != null)
            {
                businessId = cardModule.Id;
            }
            businessModule.BusinessId = businessId;

            ///当前节点修改缓存且显示在界面上
            string     newNodeName = string.Empty;
            AddNodeFrm nodeFrm     = null;
            int        currentNode = 0;

            if (type != BusinessType.Card)
            {
                nodeFrm = new AddNodeFrm(businessModule);
                nodeFrm.ShowDialog();

                if (nodeFrm.DialogResult != DialogResult.OK)
                {
                    return;
                }
                newNodeName = nodeFrm.NewNodeName;
                currentNode = nodeFrm.CurrentNode;
            }
            else
            {
                newNodeName = cardModule.Name;
                currentNode = CardManagerBLL.AddBusiness(
                    cardModule.Name,
                    (int)type,
                    businessModule.ParentNode, cardModule.Id);
            }

            businessModule.Name = newNodeName;

            List <CardManager> cardManagerList = null;

            if (!cardManagerDic.ContainsKey(node.Name))
            {
                cardManagerList = new List <CardManager>();
                cardManagerList.Add(businessModule);
                cardManagerDic.Add(node.Name, cardManagerList);
            }
            else
            {
                cardManagerList = cardManagerDic[node.Name];

                cardManagerList.Add(new CardManager()
                {
                    BType       = type,
                    CurrentNode = currentNode,
                    BusinessId  = businessId,
                    Name        = newNodeName
                });
                cardManagerDic[node.Name] = cardManagerList;
            }

            TreeNode newNode = new TreeNode();

            newNode.Text = newNodeName;
            newNode.Name = currentNode.ToString();
            newNode.Tag  = businessId;
            switch (type)
            {
            case BusinessType.Root:
                newNode.ImageKey = "folder_o";
                break;

            case BusinessType.Card:
                newNode.ImageKey = "card";
                break;

            case BusinessType.FixTip:
                newNode.ImageKey = "detail";
                break;

            case BusinessType.Detail:
                newNode.ImageKey = "content";
                break;

            case BusinessType.Folder:
                newNode.ImageKey = "folder";
                break;

            default:
                break;
            }

            node.Nodes.Add(newNode);

            ///新增加的节点也要加入缓存
            cardManagerDic.Add(newNode.Name,
                               new List <CardManager>());
        }