// 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);
        }