/// <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); }
/// <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); }