internal static MailboxData DiscoverTestMailbox(IIdentityParameter identity, IRecipientSession adSession, ADServerSettings serverSettings, DataAccessHelper.CategorizedGetDataObjectDelegate getDataObject, Task.TaskVerboseLoggingDelegate writeVerbose, Task.ErrorLoggerDelegate writeError) { if (identity == null) { MigrationADProvider migrationADProvider = new MigrationADProvider(adSession); return(migrationADProvider.GetMailboxDataForManagementMailbox()); } ADUser aduser = RequestTaskHelper.ResolveADUser(adSession, adSession, serverSettings, identity, null, null, getDataObject, writeVerbose, writeError, true); MailboxData mailboxData = new MailboxData(aduser.ExchangeGuid, new Fqdn(aduser.ServerName), aduser.LegacyExchangeDN, aduser.Id, aduser.ExchangeObjectId); mailboxData.Update(identity.RawIdentity, aduser.OrganizationId); return(mailboxData); }
protected override IConfigDataProvider CreateSession() { MigrationLogger.Initialize(); MigrationLogContext.Current.Source = base.GetType().Name; if (base.CurrentOrganizationId != null) { MigrationLogContext.Current.Organization = base.CurrentOrganizationId.OrganizationalUnit; } this.initialized = true; this.DataProvider = MigrationDataProvider.CreateProviderForMigrationMailbox(base.GetType().Name, base.TenantGlobalCatalogSession, this.partitionMailbox); this.batchDataProvider = new Lazy <MigrationBatchDataProvider>(() => new MigrationBatchDataProvider(this.DataProvider, null)); MigrationADProvider migrationADProvider = (MigrationADProvider)this.DataProvider.ADProvider; return(migrationADProvider.RecipientSession); }