コード例 #1
0
		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);
						}
					}
				}
			}
		}
コード例 #2
0
		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);
					}
				}
			}
		}