// Token: 0x0600032B RID: 811 RVA: 0x0001163C File Offset: 0x0000F83C private static TenantPartitionCacheItem SearchForTenantInfoByExternalOrgId(Guid externalOrgId, PartitionId partitionId) { if (partitionId == null) { throw new ArgumentNullException("partitionId"); } if (partitionId.PartitionObjectId == null || partitionId.PartitionObjectId.Value == Guid.Empty) { throw new ArgumentNullException("partitionId.PartitionObjectId"); } ADSessionSettings sessionSettings = ADSessionSettings.FromAllTenantsPartitionId(partitionId); ITenantConfigurationSession tenantConfigurationSession = DirectorySessionFactory.Default.CreateTenantConfigurationSession(ConsistencyMode.PartiallyConsistent, sessionSettings, 985, "SearchForTenantInfoByExternalOrgId", "f:\\15.00.1497\\sources\\dev\\data\\src\\directory\\ADAccountPartitionLocator.cs"); ExchangeConfigurationUnit exchangeConfigurationUnitByExternalId = tenantConfigurationSession.GetExchangeConfigurationUnitByExternalId(externalOrgId); if (exchangeConfigurationUnitByExternalId != null) { string name = exchangeConfigurationUnitByExternalId.Id.Parent.Name; if (ExchangeConfigurationUnit.IsInactiveRelocationNode(exchangeConfigurationUnitByExternalId)) { ExTraceGlobals.GLSTracer.TraceDebug <string>(0L, "SearchForTenantInfoByExternalOrgId() found organization in partition {0} - inactive due to relocation, skipping.", partitionId.ForestFQDN); } else { if (!string.IsNullOrEmpty(name)) { ExTraceGlobals.GLSTracer.TraceDebug <string>(0L, "SearchForTenantInfoByExternalOrgId() found organization in partition {0}.", partitionId.ForestFQDN); return(new TenantPartitionCacheItem(partitionId.PartitionObjectId.Value, partitionId.ForestFQDN, PartitionId.LocalForest.ForestFQDN, externalOrgId, name, false)); } ExTraceGlobals.GLSTracer.TraceDebug <string>(0L, "SearchForTenantInfoByExternalOrgId() found organization in partition {0} - not fully provisioned, ExternalDirectoryOrganizationId or partitionGuid is not populated, skipping.", partitionId.ForestFQDN); } } return(null); }
// Token: 0x06000327 RID: 807 RVA: 0x0001115C File Offset: 0x0000F35C private static TenantPartitionCacheItem SearchForTenantInfoByOrganizationName(string organizationName, PartitionId partitionId) { if (string.IsNullOrEmpty(organizationName)) { throw new ArgumentNullException("organizationName"); } if (partitionId == null) { throw new ArgumentNullException("partitionId"); } ADSessionSettings adsessionSettings = ADSessionSettings.FromAllTenantsPartitionId(partitionId); adsessionSettings.TenantConsistencyMode = TenantConsistencyMode.IncludeRetiredTenants; ITenantConfigurationSession tenantConfigurationSession = DirectorySessionFactory.Default.CreateTenantConfigurationSession(ConsistencyMode.PartiallyConsistent, adsessionSettings, 643, "SearchForTenantInfoByOrganizationName", "f:\\15.00.1497\\sources\\dev\\data\\src\\directory\\ADAccountPartitionLocator.cs"); ExchangeConfigurationUnit exchangeConfigurationUnitByNameOrAcceptedDomain = tenantConfigurationSession.GetExchangeConfigurationUnitByNameOrAcceptedDomain(organizationName); if (exchangeConfigurationUnitByNameOrAcceptedDomain != null) { if (ExchangeConfigurationUnit.IsInactiveRelocationNode(exchangeConfigurationUnitByNameOrAcceptedDomain)) { ExTraceGlobals.GLSTracer.TraceDebug <string>(0L, "SearchForTenantInfoByOrganizationName() found organization in partition {0} - inactive due to relocation, skipping.", partitionId.ForestFQDN); } else { string externalDirectoryOrganizationId = exchangeConfigurationUnitByNameOrAcceptedDomain.ExternalDirectoryOrganizationId; string name = exchangeConfigurationUnitByNameOrAcceptedDomain.Id.Parent.Name; if (!string.IsNullOrEmpty(name)) { ExTraceGlobals.GLSTracer.TraceDebug <string>(0L, "SearchForTenantInfoByOrganizationName() found organization in partition {0}.", partitionId.ForestFQDN); return(new TenantPartitionCacheItem((partitionId.PartitionObjectId != null) ? partitionId.PartitionObjectId.Value : Guid.Empty, partitionId.ForestFQDN, PartitionId.LocalForest.ForestFQDN, new Guid(externalDirectoryOrganizationId), name, false)); } ExTraceGlobals.GLSTracer.TraceDebug <string>(0L, "SearchForTenantInfoByOrganizationName() found organization in partition {0} - not fully provisioned, ExternalDirectoryOrganizationId or partitionGuid is not populated, skipping.", partitionId.ForestFQDN); } } return(null); }