// Token: 0x06001B88 RID: 7048 RVA: 0x000699B0 File Offset: 0x00067BB0 internal bool Execute() { StoreObjectId defaultFolderId = this.session.GetDefaultFolderId(DefaultFolderType.QuickContacts); PersonId personId = IdConverter.EwsIdToPersonId(this.personaId.GetId()); AllPersonContactsEnumerator allPersonContactsEnumerator = AllPersonContactsEnumerator.Create(this.session, personId, RemoveFavorite.ContactProperties); ExTraceGlobals.RemoveFavoriteTracer.TraceDebug((long)this.GetHashCode(), "Processing contacts."); int num = 0; foreach (IStorePropertyBag storePropertyBag in allPersonContactsEnumerator) { byte[] valueOrDefault = storePropertyBag.GetValueOrDefault <byte[]>(StoreObjectSchema.ParentEntryId, null); StoreObjectId objA = StoreObjectId.FromProviderSpecificIdOrNull(valueOrDefault); if (object.Equals(objA, defaultFolderId)) { num++; VersionedId valueOrDefault2 = storePropertyBag.GetValueOrDefault <VersionedId>(ItemSchema.Id, null); if (valueOrDefault2 != null) { StoreId objectId = valueOrDefault2.ObjectId; this.utilities.RemoveContactFromGroup(objectId, this.favoritesPdlId); this.UnsetIsFavoriteFlagIfContactExists(objectId); } } } this.SetLogValue(RemoveFavoriteMetadata.NumberOfContacts, num); if (num == 0) { ExTraceGlobals.RemoveFavoriteTracer.TraceDebug <ItemId>((long)this.GetHashCode(), "No contacts found with personId: {0}", this.personaId); } return(true); }
public virtual IEnumerable <IBirthdayContact> GetLinkedContacts(PersonId personId) { base.Trace.TraceDebug <PersonId>((long)this.GetHashCode(), "GetLinkedContacts: the person ID is {0}", personId); foreach (IStorePropertyBag contactPropertyBag in AllPersonContactsEnumerator.Create(base.Session as MailboxSession, personId, BirthdayContactDataProvider.BirthdayContactPropertyBagProperties)) { using (IContact contact = base.XsoFactory.BindToContact(base.Session, contactPropertyBag.GetValueOrDefault <StoreId>(CoreItemSchema.Id, null), BirthdayContactDataProvider.BirthdayContactProperties)) { yield return(this.ConvertToEntity(contact)); } } base.Trace.TraceDebug <PersonId>((long)this.GetHashCode(), "GetLinkedContacts: no more contacts for person ID {0}", personId); yield break; }