Beispiel #1
0
 /// <summary>
 /// 增加子编目节点
 /// </summary>
 /// <param name="child">子节点对象</param>
 public void AddChild(S_T_SpaceDefine child)
 {
     child.ValidateEntity();
     if (String.IsNullOrEmpty(child.ID))
     {
         child.ID = FormulaHelper.CreateGuid();
     }
     child.Type   = SpaceNodeType.Catalog.ToString();
     child.FullID = this.FullID + "." + child.ID;
     child.ModeID = this.ModeID;
     if (this.S_T_ProjectMode == null)
     {
         throw new Formula.Exceptions.BusinessException("没有找到指定的管理模型对象无法新增SpaceDefine子节点");
     }
     this.S_T_ProjectMode.S_T_SpaceDefine.Add(child);
 }
Beispiel #2
0
        /// <summary>
        /// 增加根节点
        /// </summary>
        /// <param name="root">根节点对象</param>
        public static void AddRoot(S_T_SpaceDefine root)
        {
            root.ValidateEntity();
            var entities    = FormulaHelper.GetEntities <BaseConfigEntities>();
            var projectMode = entities.S_T_ProjectMode.FirstOrDefault(d => d.ID == root.ModeID);

            if (projectMode == null)
            {
                throw new Formula.Exceptions.BusinessException("未能找到ID为【】的管理模式对象,无法增加SpaceDefine根");
            }
            var spaceDefine = projectMode.S_T_SpaceDefine.FirstOrDefault(d => String.IsNullOrEmpty(d.ParentID) && d.Code == root.Code && d.ID != root.ID);

            if (spaceDefine != null)
            {
                throw new Formula.Exceptions.BusinessException("【" + projectMode.Name + "】的管理对象已经拥有编号为【" + root.Code + "】的SpaceDefine根,不能重复增加");
            }
            if (String.IsNullOrEmpty(root.ID))
            {
                root.ID = FormulaHelper.CreateGuid();
            }
            root.FullID = root.ID;
            root.Type   = "Root";
            projectMode.S_T_SpaceDefine.Add(root);
        }