private void ImportRoleMembers(SCObjectSet objectSet, IImportContext context, PC.Executors.ISCObjectOperations executor, Dictionary<object, object> mappings, PC.SCRole[] roles) { if (roles.Length > 0) { foreach (var r in roles) { PC.SCRole role2 = r; if (mappings.ContainsKey(r)) { role2 = (PC.SCRole)mappings[r]; } // 查找角色成员 var roleMemberIds = (from m in objectSet.Membership where m.ContainerSchemaType == "Roles" && m.ContainerID == r.ID select m.ID).ToArray(); if (roleMemberIds.Length > 0) { var roleMembers = DbUtil.LoadObjects(roleMemberIds); foreach (PC.SCBase obj in roleMembers) { context.AppendLog("正在导入角色成员" + obj.DisplayName ?? obj.Name); executor.AddMemberToRole(obj, role2); } } } } }
private static void ImportRoleMembers(SCObjectSet objectSet, IImportContext context, PC.Executors.ISCObjectOperations exec, PC.SCRole roleRef, PC.SCRole roleActual) { foreach (var m in objectSet.Membership) { if (m.ContainerID == roleRef.ID) { var objSc = PC.Adapters.SchemaObjectAdapter.Instance.Load(m.ID) as PC.SCBase; if (objSc != null) { context.AppendLogFormat("正在替角色 {0} 导入角色成员 {1}\r\n", roleActual.DisplayName, objSc.DisplayName); exec.AddMemberToRole(objSc, roleActual); } } } }