Ejemplo n.º 1
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]);
                    }
                }
            }
        }
Ejemplo n.º 2
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]);
                    }
                }
            }
        }