// 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)); }
// 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; }
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) { }
// 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); }