// Token: 0x06000305 RID: 773 RVA: 0x00013484 File Offset: 0x00011684
        private void MarkItemAsCopied(ItemData itemData, ProvisionedFolder provisionedFolder)
        {
            ItemUpdater itemUpdater = new ItemUpdater(base.MailboxData, provisionedFolder, base.Assistant);

            itemUpdater.SetProperty(itemData, ItemSchema.ElcAutoCopyTag, itemData.Id.ChangeKeyAsByteArray());
            AutoCopyEnforcer.Tracer.TraceDebug <object, VersionedId>((long)this.GetHashCode(), "{0}: item '{1}' marked as copied.", TraceContext.Get(), itemData.Id);
            AutoCopyEnforcer.TracerPfd.TracePfd <int, object, VersionedId>((long)this.GetHashCode(), "PFD IWE {0} {1}: item '{2}' marked as copied.", 21783, TraceContext.Get(), itemData.Id);
        }
Пример #2
0
        // Token: 0x06000333 RID: 819 RVA: 0x0001423C File Offset: 0x0001243C
        internal override void ExecuteTheDoomed()
        {
            ICollection values = this.moveLists.Values;

            if (values.Count > 0)
            {
                foreach (object obj in values)
                {
                    MovePolicyItems movePolicyItems = (MovePolicyItems)obj;
                    if (movePolicyItems.SetDateWhileMoving)
                    {
                        this.ExpireInBatches(movePolicyItems.ItemList, ExpirationExecutor.Action.MoveToFolderAndSet, new StoreObjectId[]
                        {
                            movePolicyItems.DestinationFolderId
                        });
                    }
                    else
                    {
                        this.ExpireInBatches(movePolicyItems.ItemList, ExpirationExecutor.Action.MoveToFolder, new StoreObjectId[]
                        {
                            movePolicyItems.DestinationFolderId
                        });
                    }
                    FolderExpirationExecutor.Tracer.TraceDebug <FolderExpirationExecutor, int, StoreObjectId>((long)this.GetHashCode(), "{0}: {1} items moved to destination folder: '{2}'.", this, movePolicyItems.ItemList.Count, movePolicyItems.DestinationFolderId);
                    ExpirationExecutor.TracerPfd.TracePfd((long)this.GetHashCode(), "PFD IWE {0} {1}: {2} items moved to destination folder: '{3}'.", new object[]
                    {
                        22807,
                        this,
                        movePolicyItems.ItemList.Count,
                        movePolicyItems.DestinationFolderId
                    });
                }
            }
            ItemUpdater itemUpdater = new ItemUpdater((MailboxDataForFolders)base.MailboxData, this.provisionedFolder, base.ElcAssistant);

            if (this.expiryTimeList.Count > 0)
            {
                int num = itemUpdater.SetProperty(this.expiryTimeList, MessageItemSchema.ExpiryTime, base.MailboxData.UtcNow);
                ELCPerfmon.TotalItemsTagged.IncrementBy((long)num);
                ELCPerfmon.TotalItemsExpired.IncrementBy((long)num);
                FolderExpirationExecutor.Tracer.TraceDebug <FolderExpirationExecutor, int, int>((long)this.GetHashCode(), "{0}: {1} items in ExpiryTime tag list. Setting property completed on {2} items.", this, this.expiryTimeList.Count, num);
            }
            if (this.moveDateStampingList.Count > 0)
            {
                CompositeProperty compositeProperty = new CompositeProperty(Server.Exchange2007MajorVersion, base.MailboxData.Now);
                byte[]            bytes             = compositeProperty.GetBytes();
                itemUpdater.SetProperty(this.moveDateStampingList, ItemSchema.ElcMoveDate, bytes);
                FolderExpirationExecutor.Tracer.TraceDebug <FolderExpirationExecutor, int>((long)this.GetHashCode(), "{0}: {1} items in MoveDate stamping list. Setting property completed.", this, this.expiryTimeList.Count);
            }
            base.ExecuteTheDoomed();
        }