Ejemplo n.º 1
0
        public void Save()
        {
            var root = this.S_DOC_NodeStrcut.FirstOrDefault(d => d.SpaceID == this.ID && d.NodeID == "Root");

            if (root == null)
            {
                root            = new S_DOC_NodeStrcut();
                root.ID         = FormulaHelper.CreateGuid();
                root.NodeID     = "Root";
                root.FullPathID = root.ID;
                root.Name       = this.Name;
                this.S_DOC_NodeStrcut.Add(root);
            }
            var treeConfig = this.S_DOC_TreeConfig.FirstOrDefault();

            if (treeConfig == null)
            {
                treeConfig             = new S_DOC_TreeConfig();
                treeConfig.ID          = FormulaHelper.CreateGuid();
                treeConfig.TreeDisplay = "Name";
                var sortList  = new List <Dictionary <string, object> >();
                var sortTable = new Dictionary <string, object>();
                sortTable["SortField"] = "ID";
                sortTable["SortDir"]   = "asc";
                sortList.Add(sortTable);
                treeConfig.TreeSort = JsonHelper.ToJson(sortList);
                this.S_DOC_TreeConfig.Add(treeConfig);
            }
        }
Ejemplo n.º 2
0
        private void CopyNodeStrcut(S_DOC_NodeStrcut nodeStruct, S_DOC_NodeStrcut newStruct, DocConfigEntities context, Dictionary <string, string> nodeRelation)
        {
            var childStructList = nodeStruct.Children;

            foreach (var childStruct in childStructList)
            {
                var newChildStruct = childStruct.Clone <S_DOC_NodeStrcut>();
                newChildStruct.ID         = FormulaHelper.CreateGuid();
                newChildStruct.ParentID   = newStruct.ID;
                newChildStruct.FullPathID = newStruct.FullPathID + "." + newChildStruct.ID;
                newChildStruct.NodeID     = nodeRelation[childStruct.NodeID];
                newChildStruct.SpaceID    = newStruct.SpaceID;
                context.Set <S_DOC_NodeStrcut>().Add(newChildStruct);

                if (childStruct.Children != null)
                {
                    CopyNodeStrcut(childStruct, newChildStruct, context, nodeRelation);
                }
            }
        }
Ejemplo n.º 3
0
        public void AddChild(S_DOC_NodeStrcut child)
        {
            if (this.Children.Exists(d => d.NodeID == child.NodeID))
            {
                throw new Formula.Exceptions.BusinessException("同类型的节点不能重复添加");
            }

            if (String.IsNullOrEmpty(child.NodeID))
            {
                throw new Formula.Exceptions.BusinessException("必须指定节点类别ID");
            }
            child.ParentID = this.ID;
            if (String.IsNullOrEmpty(child.ID))
            {
                child.ID = FormulaHelper.CreateGuid();
            }
            child.FullPathID = this.FullPathID + "." + child.ID;
            child.SpaceID    = this.SpaceID;
            this.S_DOC_Space.S_DOC_NodeStrcut.Add(child);
        }