示例#1
0
 private void UpdateAllRights(Grantee role)
 {
     for (int i = 0; i < this._map.Size(); i++)
     {
         Grantee grantee = this._map.Get(i);
         if (grantee.IsRole)
         {
             grantee.UpdateNestedRoles(role);
         }
     }
     for (int j = 0; j < this._map.Size(); j++)
     {
         Grantee grantee2 = this._map.Get(j);
         if (!grantee2.IsRole)
         {
             grantee2.UpdateAllRights();
         }
     }
 }
示例#2
0
        public bool UpdateNestedRoles(Grantee role)
        {
            bool flag = false;

            if (role != this)
            {
                for (int i = 0; i < this.Roles.Size(); i++)
                {
                    Grantee grantee = this.Roles.Get(i);
                    flag |= grantee.UpdateNestedRoles(role);
                }
            }
            if (flag)
            {
                this.UpdateAllRights();
            }
            if (!flag)
            {
                return(role == this);
            }
            return(true);
        }