private void InnerRefreshMembers(string auCodeName) { lock (this._RoleMembersSyncObject) { if (this._RoleMembers != null) { if (this._RoleMembers.AUCodeName != auCodeName) { this._RoleMembers = null; } } if (this._RoleMembers == null) { ClientAURole role = GetAURoleObject(auCodeName); if (role != null) { ClientSchemaMember[] members = AUCenterQueryService.Instance.GetMemberships(role.ID, UserSchemaType, true); List <string> userIDs = new List <string>(); members.ForEach(m => userIDs.Add(m.ID)); IEnumerable <IUser> users = OguMechanismFactory.GetMechanism().GetObjects <IUser>(SearchOUIDType.Guid, userIDs.ToArray()); this._RoleMembers = new WrappedAURoleMembers(auCodeName, users); } else { this._RoleMembers = new WrappedAURoleMembers(auCodeName, new IUser[0]); } } } }
private void InnerRefreshMembers(string auCodeName) { lock (this._RoleMembersSyncObject) { if (this._RoleMembers != null) { if (this._RoleMembers.AUCodeName != auCodeName) this._RoleMembers = null; } if (this._RoleMembers == null) { ClientAURole role = GetAURoleObject(auCodeName); if (role != null) { ClientSchemaMember[] members = AUCenterQueryService.Instance.GetMemberships(role.ID, UserSchemaType, true); List<string> userIDs = new List<string>(); members.ForEach(m => userIDs.Add(m.ID)); IEnumerable<IUser> users = OguMechanismFactory.GetMechanism().GetObjects<IUser>(SearchOUIDType.Guid, userIDs.ToArray()); this._RoleMembers = new WrappedAURoleMembers(auCodeName, users); } else { this._RoleMembers = new WrappedAURoleMembers(auCodeName, new IUser[0]); } } } }