Ejemplo n.º 1
0
        // Token: 0x060055F4 RID: 22004 RVA: 0x00135E34 File Offset: 0x00134034
        internal static MultiValuedProperty <SecurityIdentifier> PublicToGroupSidsGetter(IPropertyBag propertyBag)
        {
            MultiValuedProperty <ADObjectId>         multiValuedProperty   = (MultiValuedProperty <ADObjectId>)propertyBag[GroupMailboxSchema.DelegateListLink];
            ModernGroupObjectType                    modernGroupObjectType = (ModernGroupObjectType)propertyBag[GroupMailboxSchema.ModernGroupType];
            MultiValuedProperty <SecurityIdentifier> multiValuedProperty2  = new MultiValuedProperty <SecurityIdentifier>();

            if (multiValuedProperty != null && multiValuedProperty.Count > 0)
            {
                using (MultiValuedProperty <ADObjectId> .Enumerator enumerator = multiValuedProperty.GetEnumerator())
                {
                    while (enumerator.MoveNext())
                    {
                        ADObjectId         instance           = enumerator.Current;
                        SecurityIdentifier securityIdentifier = ADObjectId.GetSecurityIdentifier(instance);
                        if (securityIdentifier != null)
                        {
                            multiValuedProperty2.Add(securityIdentifier);
                        }
                    }
                    return(multiValuedProperty2);
                }
            }
            if (modernGroupObjectType == ModernGroupObjectType.Public)
            {
                SecurityIdentifier item = new SecurityIdentifier(WellKnownSidType.WorldSid, null);
                multiValuedProperty2.Add(item);
            }
            return(multiValuedProperty2);
        }