public override void ConfigureProviders() { RequestStatisticsBase cachedRequestJob = base.MRSJob.CachedRequestJob; PublicFolderRecipient localMailboxRecipient = this.publicFolderConfiguration.GetLocalMailboxRecipient(base.TargetMailboxGuid); if (localMailboxRecipient == null) { throw new RecipientNotFoundPermanentException(base.TargetMailboxGuid); } List <MRSProxyCapabilities> list = new List <MRSProxyCapabilities>(); ProxyServerSettings proxyServerSettings = CommonUtils.MapDatabaseToProxyServer(localMailboxRecipient.Database.ObjectGuid); list.Add(MRSProxyCapabilities.PublicFolderMigration); IDestinationMailbox destinationMailbox = this.GetDestinationMailbox(localMailboxRecipient.Database.ObjectGuid, proxyServerSettings.ExtraFlags | LocalMailboxFlags.Move, list); destinationMailbox.Config(base.MRSJob.GetReservation(localMailboxRecipient.Database.ObjectGuid, ReservationFlags.Write), base.TargetMailboxGuid, base.TargetMailboxGuid, CommonUtils.GetPartitionHint(cachedRequestJob.OrganizationId), localMailboxRecipient.Database.ObjectGuid, MailboxType.DestMailboxIntraOrg, null); base.ConfigDestinationMailbox(destinationMailbox); ADSessionSettings sessionSettings = ADSessionSettings.FromOrganizationIdWithoutRbacScopesServiceOnly(this.publicFolderConfiguration.OrganizationId); this.orgRecipientSession = DirectorySessionFactory.Default.GetTenantOrRootOrgRecipientSession(false, ConsistencyMode.PartiallyConsistent, sessionSettings, 170, "ConfigureProviders", "f:\\15.00.1497\\sources\\dev\\mrs\\src\\Service\\PublicFolderMailboxMigrator.cs"); if (!CommonUtils.IsMultiTenantEnabled() && !base.Flags.HasFlag(MailboxCopierFlags.CrossOrg)) { this.orgRecipientSession.EnforceDefaultScope = false; this.orgRecipientSession.UseGlobalCatalog = true; } ArgumentValidator.ThrowIfNull("orgRecipientSession", this.orgRecipientSession); }
public override void ConfigureProviders() { RequestStatisticsBase cachedRequestJob = base.MRSJob.CachedRequestJob; PublicFolderRecipient localMailboxRecipient = this.publicFolderConfiguration.GetLocalMailboxRecipient(base.TargetMailboxGuid); if (localMailboxRecipient == null) { throw new RecipientNotFoundPermanentException(base.TargetMailboxGuid); } List <MRSProxyCapabilities> list = new List <MRSProxyCapabilities>(); ProxyServerSettings proxyServerSettings = CommonUtils.MapDatabaseToProxyServer(localMailboxRecipient.Database.ObjectGuid); list.Add(MRSProxyCapabilities.PublicFolderMigration); IDestinationMailbox destinationMailbox = this.GetDestinationMailbox(localMailboxRecipient.Database.ObjectGuid, proxyServerSettings.ExtraFlags | LocalMailboxFlags.Move, list); destinationMailbox.Config(base.MRSJob.GetReservation(localMailboxRecipient.Database.ObjectGuid, ReservationFlags.Write), base.TargetMailboxGuid, base.TargetMailboxGuid, CommonUtils.GetPartitionHint(cachedRequestJob.OrganizationId), localMailboxRecipient.Database.ObjectGuid, MailboxType.DestMailboxIntraOrg, null); base.ConfigDestinationMailbox(destinationMailbox); }