/// <summary> /// 复制DBS结构配置及权限 /// </summary> /// <param name="rootDBS"></param> /// <param name="newRootDBS"></param> /// <param name="context"></param> private void CopyDBSDefine(S_T_DBSDefine rootDBS, S_T_DBSDefine newRootDBS, BaseConfigEntities context) { var childDBS = rootDBS.Children; foreach (var dbs in childDBS) { var newDBS = dbs.Clone <S_T_DBSDefine>(); newDBS.ID = FormulaHelper.CreateGuid(); newDBS.ParentID = newRootDBS.ID; newDBS.FullID = newRootDBS.FullID + "." + newDBS.ID; newDBS.ModeID = newRootDBS.ModeID; context.Set <S_T_DBSDefine>().Add(newDBS); //DBS权限 var dbsAuth = context.Set <S_T_DBSSecurity>().Where(c => c.DBSDefineID == dbs.ID); if (dbsAuth != null) { foreach (var auth in dbsAuth) { var newAuth = auth.Clone <S_T_DBSSecurity>(); newAuth.ID = FormulaHelper.CreateGuid(); newAuth.DBSDefineID = newDBS.ID; context.Set <S_T_DBSSecurity>().Add(newAuth); } } if (dbs.Children != null) { CopyDBSDefine(dbs, newDBS, context); } } }
/// <summary> /// 复制ISO配置 /// </summary> /// <param name="modelID"></param> /// <param name="newModelID"></param> /// <param name="context"></param> private void CopyISODefine(string modelID, string newModelID, BaseConfigEntities context) { var isoList = context.S_T_ISODefine.Where(c => c.ModeID == modelID).ToList(); foreach (var iso in isoList) { var newISO = iso.Clone <S_T_ISODefine>(); newISO.ID = FormulaHelper.CreateGuid(); newISO.ModeID = newModelID; context.S_T_ISODefine.Add(newISO); } }
/// <summary> /// 复制里程碑配置 /// </summary> /// <param name="modelID"></param> /// <param name="newModelID"></param> /// <param name="context"></param> private void CopyMilestone(string modelID, string newModelID, BaseConfigEntities context) { var milestoneList = context.Set <S_T_MileStone>().Where(c => c.ModeID == modelID).ToList(); foreach (var milestone in milestoneList) { var newMilestone = milestone.Clone <S_T_MileStone>(); newMilestone.ID = FormulaHelper.CreateGuid(); newMilestone.ModeID = newModelID; context.S_T_MileStone.Add(newMilestone); } }
/// <summary> /// 复制WBS结构配置 /// </summary> /// <param name="modelID"></param> /// <param name="newModelID"></param> /// <param name="context"></param> private void CopyWBSStructInfo(string modelID, string newModelID, BaseConfigEntities context) { var structList = context.Set <S_T_WBSStructInfo>().Where(c => c.ModeID == modelID).ToList(); foreach (var structInfo in structList) { var newSturctInfo = structInfo.Clone <S_T_WBSStructInfo>(); newSturctInfo.ID = FormulaHelper.CreateGuid(); newSturctInfo.ModeID = newModelID; context.S_T_WBSStructInfo.Add(newSturctInfo); if (structInfo.S_T_WBSStructRole != null) { foreach (var wbsStructRole in structInfo.S_T_WBSStructRole) { var newWBSStructRole = wbsStructRole.Clone <S_T_WBSStructRole>(); newWBSStructRole.ID = FormulaHelper.CreateGuid(); newWBSStructRole.WBSStructID = newSturctInfo.ID; context.S_T_WBSStructRole.Add(newWBSStructRole); } } } }
private void CopyFlowTraceDefine(S_T_FlowTraceDefine rootNode, S_T_FlowTraceDefine newRootNode, BaseConfigEntities context) { var childNodes = this.S_T_FlowTraceDefine.Where(d => d.ParentID == rootNode.ID).ToList(); foreach (var node in childNodes) { var newNode = node.Clone <S_T_FlowTraceDefine>(); newNode.ID = FormulaHelper.CreateGuid(); newNode.ParentID = newRootNode.ID; newNode.FullID = newRootNode.FullID + "." + newNode.ID; newNode.ModeID = newRootNode.ModeID; context.Set <S_T_FlowTraceDefine>().Add(newNode); if (this.S_T_FlowTraceDefine.Where(d => d.ParentID == node.ID).Count() > 0) { CopyFlowTraceDefine(node, newNode, context); } } }
/// <summary> /// 复制空间配置及控件授权 /// </summary> /// <param name="rootSpace"></param> /// <param name="newRootSpace"></param> /// <param name="context"></param> private void CopySpaceDefine(S_T_SpaceDefine rootSpace, S_T_SpaceDefine newRootSpace, BaseConfigEntities context) { var childSpace = rootSpace.Children; foreach (var space in childSpace) { var newSpace = space.Clone <S_T_SpaceDefine>(); newSpace.ID = FormulaHelper.CreateGuid(); newSpace.ParentID = newRootSpace.ID; newSpace.FullID = newRootSpace.FullID + "." + newSpace.ID; newSpace.ModeID = newRootSpace.ModeID; context.Set <S_T_SpaceDefine>().Add(newSpace); //空间权限 var spaceAuth = context.Set <S_T_SpaceAuth>().Where(c => c.SpaceID == space.ID); if (spaceAuth != null) { foreach (var auth in spaceAuth) { var newAuth = auth.Clone <S_T_SpaceAuth>(); newAuth.SpaceID = newSpace.ID; context.Set <S_T_SpaceAuth>().Add(newAuth); } } if (space.Children != null) { CopySpaceDefine(space, newSpace, context); } } }