// Token: 0x06001089 RID: 4233 RVA: 0x000606C4 File Offset: 0x0005E8C4
        internal void SaveGroupMetricsToAD(IRecipientSession session, ADRawEntry group, int totalMemberCount, int externalMemberCount)
        {
            bool savedToAD = false;

            this.TryRunPerGroupADOperation(delegate
            {
                ADRawEntry adrawEntry         = session.Read(group.Id);
                ADGroup adgroup               = adrawEntry as ADGroup;
                ADDynamicGroup addynamicGroup = adrawEntry as ADDynamicGroup;
                if (adgroup != null)
                {
                    adgroup.GroupMemberCount         = totalMemberCount;
                    adgroup.GroupExternalMemberCount = externalMemberCount;
                    session.Save(adgroup);
                    savedToAD = true;
                    return;
                }
                if (addynamicGroup != null)
                {
                    addynamicGroup.GroupMemberCount         = totalMemberCount;
                    addynamicGroup.GroupExternalMemberCount = externalMemberCount;
                    session.Save(addynamicGroup);
                    savedToAD = true;
                }
            }, group.Id.DistinguishedName);
            if (!savedToAD)
            {
                string organizationIdString = this.GetOrganizationIdString();
                GroupMetricsGenerator.EventLogger.LogEvent(InfoWorkerEventLogConstants.Tuple_UnableToSaveGroupMetricsToAD, organizationIdString, new object[]
                {
                    organizationIdString,
                    group.Id.DistinguishedName
                });
            }
        }
 internal static DynamicDistributionGroup FromDataObject(ADDynamicGroup dataObject)
 {
     if (dataObject == null)
     {
         return(null);
     }
     return(new DynamicDistributionGroup(dataObject));
 }
Example #3
0
 // Token: 0x06000951 RID: 2385 RVA: 0x00036BA3 File Offset: 0x00034DA3
 public ADABGroup(ADABSession ownerSession, ADDynamicGroup dynamicGroup) : base(ownerSession)
 {
     if (dynamicGroup == null)
     {
         throw new ArgumentNullException("dynamicGroup");
     }
     if (dynamicGroup.Id == null)
     {
         throw new ArgumentException("dynamicGroup.Id can't be null.", "dynamicGroup.Id");
     }
     this.recipient    = dynamicGroup;
     this.dynamicGroup = dynamicGroup;
 }
Example #4
0
        protected override IConfigurable ConvertDataObjectToPresentationObject(IConfigurable dataObject)
        {
            if (dataObject == null)
            {
                return(null);
            }
            ADDynamicGroup dataObject2 = (ADDynamicGroup)dataObject;
            SyncDynamicDistributionGroup syncDynamicDistributionGroup = new SyncDynamicDistributionGroup(dataObject2);

            if (this.outputCookie != null)
            {
                syncDynamicDistributionGroup.propertyBag.SetField(SyncDynamicDistributionGroupSchema.Cookie, this.outputCookie.ToBytes());
                if (this.outputCookie.HighWatermark == 0L)
                {
                    syncDynamicDistributionGroup.propertyBag.SetField(SyncDynamicDistributionGroupSchema.EndOfList, true);
                }
            }
            return(syncDynamicDistributionGroup);
        }
 public DynamicDistributionGroup(ADDynamicGroup dataObject) : base(dataObject)
 {
 }
Example #6
0
        // Token: 0x060003B5 RID: 949 RVA: 0x00015440 File Offset: 0x00013640
        internal static ADObject CreateAndInitializeRecipientObject <TRecipientObject>(ADPropertyBag propertyBag, ADRawEntry dummyObject, IRecipientSession recipientSession) where TRecipientObject : IConfigurable, new()
        {
            ArgumentValidator.ThrowIfNull("propertyBag", propertyBag);
            ArgumentValidator.ThrowIfNull("dummyObject", dummyObject);
            MultiValuedProperty <string> multiValuedProperty = (MultiValuedProperty <string>)propertyBag[ADObjectSchema.ObjectClass];
            ADObject adobject;

            if (dummyObject is OWAMiniRecipient)
            {
                adobject = new OWAMiniRecipient();
            }
            else if (dummyObject is ActiveSyncMiniRecipient)
            {
                adobject = new ActiveSyncMiniRecipient();
            }
            else if (dummyObject is StorageMiniRecipient)
            {
                adobject = new StorageMiniRecipient();
            }
            else if (dummyObject is TransportMiniRecipient)
            {
                adobject = new TransportMiniRecipient();
            }
            else if (dummyObject is LoadBalancingMiniRecipient)
            {
                adobject = new LoadBalancingMiniRecipient();
            }
            else if (dummyObject is MiniRecipientWithTokenGroups)
            {
                adobject = new MiniRecipientWithTokenGroups();
            }
            else if (dummyObject is FrontEndMiniRecipient)
            {
                adobject = new FrontEndMiniRecipient();
            }
            else if (dummyObject is MiniRecipient)
            {
                adobject = new MiniRecipient();
            }
            else if (dummyObject is RemovedMailbox)
            {
                adobject = new RemovedMailbox();
            }
            else if (dummyObject is DeletedRecipient)
            {
                adobject = new DeletedRecipient();
            }
            else if (multiValuedProperty.Contains(ADComputerRecipient.MostDerivedClass))
            {
                adobject = new ADComputerRecipient();
            }
            else if (multiValuedProperty.Contains(ADUser.MostDerivedClass))
            {
                adobject = new ADUser();
            }
            else if (multiValuedProperty.Contains(ADContact.MostDerivedClass))
            {
                adobject = new ADContact();
            }
            else if (multiValuedProperty.Contains(ADGroup.MostDerivedClass))
            {
                adobject = new ADGroup();
            }
            else if (multiValuedProperty.Contains(ADDynamicGroup.MostDerivedClass))
            {
                adobject = new ADDynamicGroup();
            }
            else if (multiValuedProperty.Contains(ADPublicFolder.MostDerivedClass))
            {
                adobject = new ADPublicFolder();
            }
            else if (multiValuedProperty.Contains(ADSystemAttendantMailbox.MostDerivedClass))
            {
                adobject = new ADSystemAttendantMailbox();
            }
            else if (multiValuedProperty.Contains(ADSystemMailbox.MostDerivedClass))
            {
                adobject = new ADSystemMailbox();
            }
            else if (multiValuedProperty.Contains(ADPublicDatabase.MostDerivedClass))
            {
                adobject = new ADPublicDatabase();
            }
            else
            {
                if (!multiValuedProperty.Contains(ADMicrosoftExchangeRecipient.MostDerivedClass))
                {
                    string objectClass = string.Empty;
                    foreach (string text in multiValuedProperty)
                    {
                        objectClass = text;
                    }
                    ObjectValidationError error = new ObjectValidationError(DirectoryStrings.UnsupportedObjectClass(objectClass), (ADObjectId)propertyBag[ADObjectSchema.Id], string.Empty);
                    ADProviderPerf.UpdateProcessCounter(Counter.ProcessRateCriticalValidationFailures, UpdateType.Update, 1U);
                    Globals.LogEvent(DirectoryEventLogConstants.Tuple_DSC_EVENT_VALIDATION_FAILED_FCO_MODE_RECIPIENT, ((ADObjectId)propertyBag[ADObjectSchema.Id]).ToString(), new object[]
                    {
                        ((ADObjectId)propertyBag[ADObjectSchema.Id]).ToDNString()
                    });
                    throw new DataValidationException(error);
                }
                adobject = new ADMicrosoftExchangeRecipient();
            }
            adobject.m_Session   = recipientSession;
            adobject.propertyBag = propertyBag;
            adobject.Initialize();
            adobject.ResetChangeTracking(true);
            if (recipientSession != null)
            {
                adobject.SetIsReadOnly(recipientSession.ReadOnly);
            }
            ExTraceGlobals.ADReadDetailsTracer.TraceDebug <string, RecipientType>((long)((recipientSession != null) ? recipientSession.GetHashCode() : 0), "ADRecipientObjectSession::CreateObject - Got {0} as {1}", adobject.DistinguishedName, (RecipientType)adobject[ADRecipientSchema.RecipientType]);
            return(adobject);
        }