private void ExecuteForAllAssociations(Action <MailboxAssociationFromStore, IAssociationAdaptor, ADUser, IExtensibleLogger> task, BaseAssociationAdaptor associationAdaptor, IExtensibleLogger logger) { MailboxAssociationContext.Tracer.TraceDebug <string>((long)this.GetHashCode(), "MailboxAssociationContext.ExecuteForAllAssociations [{0}]: Querying all associations for the mailbox.", this.cmdletName); IEnumerable <MailboxAssociation> allAssociations = associationAdaptor.GetAllAssociations(); foreach (MailboxAssociation mailboxAssociation in allAssociations) { MailboxAssociation mailboxAssociation2 = mailboxAssociation; if (this.includeNotPromotedProperties) { MailboxAssociationContext.Tracer.TraceDebug <string>((long)this.GetHashCode(), "MailboxAssociationContext.ExecuteForAllAssociations [{0}]: Querying association by ItemId to retrieve not promoted properties.", this.cmdletName); mailboxAssociation2 = this.GetAssociationByItemId(associationAdaptor, mailboxAssociation); } MailboxAssociationContext.Tracer.TraceDebug <string, MailboxAssociation>((long)this.GetHashCode(), "MailboxAssociationContext.ExecuteForAllAssociations [{0}]: Found association {1}", this.cmdletName, mailboxAssociation); task(mailboxAssociation2 as MailboxAssociationFromStore, associationAdaptor, this.mailbox, logger); } }
private MailboxAssociation GetAssociationByItemId(BaseAssociationAdaptor associationAdaptor, MailboxAssociation association) { MailboxAssociationContext.Tracer.TraceDebug <string>((long)this.GetHashCode(), "MailboxAssociationContext.GetAssociationByItemId [{0}]: Querying association by its item id", this.cmdletName); MailboxAssociationFromStore mailboxAssociationFromStore = association as MailboxAssociationFromStore; if (mailboxAssociationFromStore != null) { association = associationAdaptor.GetAssociation(mailboxAssociationFromStore.ItemId); } return(association); }