Beispiel #1
0
        // 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;
 }