// Token: 0x06000453 RID: 1107 RVA: 0x0001F0F0 File Offset: 0x0001D2F0
 internal FolderArchiver(ElcUserInformation elcUserInformation, IArchiveProcessor archiveProcessor)
 {
     this.archiveProcessor   = archiveProcessor;
     this.elcUserInformation = elcUserInformation;
     this.mailboxSession     = elcUserInformation.MailboxSession;
     this.mailboxDN          = this.mailboxSession.MailboxOwner.LegacyDn.ToString();
     this.mailboxSmtpAddress = this.mailboxSession.MailboxOwner.MailboxInfo.PrimarySmtpAddress.ToString();
 }
Beispiel #2
0
 public PackageDeploymentProcessor(
     IArchiveProcessor archiveProcessor,
     IEnvironmentalTokenResolver environmentalTokenResolver,
     IProgressNotifier progressNotifier,
     IReservedTokenResolver reservedTokenResolver)
 {
     this.archiveProcessor           = archiveProcessor;
     this.environmentalTokenResolver = environmentalTokenResolver;
     this.progressNotifier           = progressNotifier;
     this.reservedTokenResolver      = reservedTokenResolver;
 }
 public PackageDeploymentProcessor(
     IArchiveProcessor archiveProcessor,
     IEnvironmentalTokenResolver environmentalTokenResolver, 
     IProgressNotifier progressNotifier, 
     IReservedTokenResolver reservedTokenResolver)
 {
     this.archiveProcessor = archiveProcessor;
     this.environmentalTokenResolver = environmentalTokenResolver;
     this.progressNotifier = progressNotifier;
     this.reservedTokenResolver = reservedTokenResolver;
 }
 public FileCopyPackageTask(
     IArchiveProcessor archiveProcessor,
     IEnvironmentalTokenResolver environmentalTokenResolver, 
     IProgressNotifier progressNotifier, 
     IReservedTokenResolver reservedTokenResolver)
 {
     this.archiveProcessor = archiveProcessor;
     this.environmentalTokenResolver = environmentalTokenResolver;
     this.progressNotifier = progressNotifier;
     this.reservedTokenResolver = reservedTokenResolver;
 }
Beispiel #5
0
 public GapFillUtilityExecutor(AppSettings appSettings, ILogger logger)
 {
     _appSettings             = appSettings;
     _logger                  = logger;
     _httpClient              = new HttpClient();
     _storagePath             = Directory.CreateDirectory($@"C:\Projects\assetfiles\{Helpers.GetUniqueDateStampAudit()}\").FullName;
     _zipProcessor            = new HarvestZipProcessor();
     _downloader              = new HarvestDownloader();
     _transformer             = new SaxonTransformer(_appSettings.ConfigurationSettings.SaxonTransformationFile, _logger);
     _archiveProcessor        = new HarvestArchiveProcessor(_transformer);
     _mappingProvider         = new MappingProvider();
     _transformationProcessor = new TransformationProcessor(_transformer, _downloader, _zipProcessor, _mappingProvider);
 }
        // Token: 0x06000418 RID: 1048 RVA: 0x0001CFF8 File Offset: 0x0001B1F8
        internal void DeleteConfigMessage(IArchiveProcessor archiveProcessor)
        {
            StoreId defaultFolderId = base.MailboxSession.GetDefaultFolderId(DefaultFolderType.Inbox);

            base.MailboxSession.UserConfigurationManager.DeleteFolderConfigurations(defaultFolderId, new string[]
            {
                "MRM"
            });
            IMailboxInfo archiveMailbox = base.MailboxSession.MailboxOwner.GetArchiveMailbox();

            if (!base.MailboxSession.MailboxOwner.MailboxInfo.IsArchive && archiveProcessor != null && archiveMailbox != null && archiveMailbox.IsRemote)
            {
                CloudArchiveProcessor cloudArchiveProcessor = archiveProcessor as CloudArchiveProcessor;
                if (cloudArchiveProcessor != null && cloudArchiveProcessor.ArchiveEwsClient != null)
                {
                    cloudArchiveProcessor.DeleteConfigItemInArchive();
                }
            }
        }
        // Token: 0x06000463 RID: 1123 RVA: 0x0001F7CC File Offset: 0x0001D9CC
        internal static void SyncFolders(IArchiveProcessor archiveHandler, FolderTuple sourceRoot, FolderTuple targetRoot, string traceId)
        {
            FolderHelper.< > c__DisplayClass2 CS$ < > 8__locals1 = new FolderHelper.< > c__DisplayClass2();
            CS$ < > 8__locals1.archiveHandler = archiveHandler;
            CS$ < > 8__locals1.traceId        = traceId;
            if (CS$ < > 8__locals1.archiveHandler == null)
            {
                return;
            }
            Queue <FolderTuple> queue  = new Queue <FolderTuple>(20);
            Queue <FolderTuple> queue2 = new Queue <FolderTuple>(20);

            queue.Enqueue(sourceRoot);
            queue2.Enqueue(targetRoot);
            while (queue2.Count > 0)
            {
                FolderHelper.< > c__DisplayClass6 CS$ < > 8__locals2 = new FolderHelper.< > c__DisplayClass6();
                CS$ < > 8__locals2.CS$ < > 8__locals3 = CS$ < > 8__locals1;
                CS$ < > 8__locals2.source             = queue.Dequeue();
                CS$ < > 8__locals2.target             = queue2.Dequeue();
                if (!FolderTuple.ArePropTagsSame(CS$ < > 8__locals2.source, CS$ < > 8__locals2.target))
                {
                    ILUtil.DoTryFilterCatch(new TryDelegate(CS$ < > 8__locals2, (UIntPtr)ldftn(< SyncFolders > b__0)), new FilterDelegate(null, (UIntPtr)ldftn(ExceptionFilter)), new CatchDelegate(CS$ < > 8__locals2, (UIntPtr)ldftn(< SyncFolders > b__1)));
                }
                if (CS$ < > 8__locals2.target.Children != null && CS$ < > 8__locals2.target.Children.Count > 0 && CS$ < > 8__locals2.source.Children != null && CS$ < > 8__locals2.source.Children.Count > 0)
                {
                    foreach (FolderTuple folderTuple in CS$ < > 8__locals2.target.Children.Values)
                    {
                        if (!string.IsNullOrEmpty(folderTuple.DisplayName))
                        {
                            FolderTuple folderTuple2 = null;
                            if (CS$ < > 8__locals2.source.Children.TryGetValue(folderTuple.DisplayName, out folderTuple2) && folderTuple2 != null)
                            {
                                queue.Enqueue(folderTuple2);
                                queue2.Enqueue(folderTuple);
                            }
                        }
                    }
                }
            }
        }
        // Token: 0x06000417 RID: 1047 RVA: 0x0001CE4C File Offset: 0x0001B04C
        internal bool SaveConfigItem(IArchiveProcessor archiveProcessor)
        {
            bool      result = false;
            Exception arg    = null;

            try
            {
                MrmFaiFormatter.Serialize(this.storeTagDictionary, this.storeDefaultArchiveTagDictionary, this.deletedTags, new RetentionHoldData(base.SuspendExpiration, base.ADUser.RetentionComment, base.ADUser.RetentionUrl), this.configItem, false, base.MailboxSession.MailboxOwner);
                this.configItem.Save();
                IMailboxInfo archiveMailbox = base.MailboxSession.MailboxOwner.GetArchiveMailbox();
                if (!base.MailboxSession.MailboxOwner.MailboxInfo.IsArchive && archiveProcessor != null && archiveMailbox != null && archiveMailbox.IsRemote)
                {
                    CloudArchiveProcessor cloudArchiveProcessor = archiveProcessor as CloudArchiveProcessor;
                    if (cloudArchiveProcessor != null && cloudArchiveProcessor.ArchiveEwsClient != null)
                    {
                        byte[] xmlData = MrmFaiFormatter.Serialize(this.storeTagDictionary, this.storeDefaultArchiveTagDictionary, null, new RetentionHoldData(base.SuspendExpiration, base.ADUser.RetentionComment, base.ADUser.RetentionUrl), this.fullCrawlRequired, base.MailboxSession.MailboxOwner);
                        if (!cloudArchiveProcessor.SaveConfigItemInArchive(xmlData))
                        {
                            ElcUserInformation.Tracer.TraceError((long)this.GetHashCode(), "The MRM FAI message could not be saved to the cross-premise archive");
                            return(false);
                        }
                    }
                }
                result = true;
            }
            catch (Exception ex)
            {
                if (ex is ObjectNotFoundException || ex is ObjectExistedException || ex is SaveConflictException || ex is StorageTransientException || ex is StoragePermanentException)
                {
                    result = false;
                    ElcUserInformation.Tracer.TraceDebug <IExchangePrincipal, MailboxSession, Exception>((long)this.GetHashCode(), "The MRM FAI message could not be saved. Mailbox Owner {0}, Mailbox Session {1}. Exception: {2}", base.MailboxSession.MailboxOwner, base.MailboxSession, arg);
                    throw new TransientMailboxException(ex);
                }
                throw;
            }
            return(result);
        }
Beispiel #9
0
 public PackageFactory(IArchiveProcessor archiveProcessor)
 {
     this.archiveProcessor = archiveProcessor;
 }
Beispiel #10
0
 public PackageFactory(IArchiveProcessor archiveProcessor)
 {
     this.archiveProcessor = archiveProcessor;
 }