internal static string AddHybridConfigurationWellKnownSubDomain(string domain)
 {
     if (!string.IsNullOrEmpty(domain) && !FederatedOrganizationId.ContainsHybridConfigurationWellKnownSubDomain(domain) && !Globals.IsDatacenter)
     {
         return(FederatedOrganizationId.HybridConfigurationWellKnownSubDomain + "." + domain);
     }
     return(domain);
 }
Ejemplo n.º 2
0
        public AcceptedDomain[] FindAcceptedDomainsByFederatedOrgId(FederatedOrganizationId federatedOrganizationId)
        {
            QueryFilter filter = new AndFilter(new QueryFilter[]
            {
                new ComparisonFilter(ComparisonOperator.Equal, AcceptedDomainSchema.FederatedOrganizationLink, federatedOrganizationId.Id)
            });

            return(base.Find <AcceptedDomain>(federatedOrganizationId.ConfigurationUnit, QueryScope.SubTree, filter, null, 0));
        }
        internal static string RemoveHybridConfigurationWellKnownSubDomain(string domain)
        {
            string result = domain;

            if (FederatedOrganizationId.ContainsHybridConfigurationWellKnownSubDomain(domain))
            {
                result = domain.Substring(FederatedOrganizationId.HybridConfigurationWellKnownSubDomain.Length + 1);
            }
            return(result);
        }
        private void Populate()
        {
            FederatedOrganizationId federatedOrganizationId = this.federatedOrganizationIdCache.Value;

            if (federatedOrganizationId == null)
            {
                OrganizationBaseCache.Tracer.TraceError <OrganizationId>((long)this.GetHashCode(), "Unable to find the FederatedOrganizationId associated with the organization '{0}'", base.OrganizationId);
                return;
            }
            OrganizationBaseCache.Tracer.TraceDebug <ADObjectId>((long)this.GetHashCode(), "Searching for AcceptedDomain instances associated with FederatedOrganizationId '{0}'", federatedOrganizationId.Id);
            AcceptedDomain[]  acceptedDomains   = null;
            ADOperationResult adoperationResult = ADNotificationAdapter.TryRunADOperation(delegate()
            {
                acceptedDomains = this.Session.FindAcceptedDomainsByFederatedOrgId(federatedOrganizationId);
            });

            if (!adoperationResult.Succeeded)
            {
                OrganizationBaseCache.Tracer.TraceError <ADObjectId, Exception>((long)this.GetHashCode(), "Unable to find AcceptedDomain instances associated with the FederatedOrganizationId '{0}' due to exception: {1}", federatedOrganizationId.Id, adoperationResult.Exception);
                return;
            }
            if (acceptedDomains == null || acceptedDomains.Length == 0)
            {
                OrganizationBaseCache.Tracer.TraceError <ADObjectId>((long)this.GetHashCode(), "Unable to find any federated AcceptedDomain associated with the FederatedOrganizationId '{0}'", federatedOrganizationId.Id);
                return;
            }
            string[] array = new string[acceptedDomains.Length];
            for (int i = 0; i < acceptedDomains.Length; i++)
            {
                array[i] = acceptedDomains[i].DomainName.Domain;
            }
            string text = null;

            foreach (AcceptedDomain acceptedDomain in acceptedDomains)
            {
                if (acceptedDomain.IsDefaultFederatedDomain)
                {
                    OrganizationBaseCache.Tracer.TraceDebug <SmtpDomainWithSubdomains>((long)this.GetHashCode(), "Found AcceptedDomain '{0}' as default federated domain", acceptedDomain.DomainName);
                    text = acceptedDomain.DomainName.Domain;
                    break;
                }
            }
            OrganizationBaseCache.Tracer.TraceDebug <ADObjectId, ArrayTracer <string> >((long)this.GetHashCode(), "Found the following domains associated with FederatedOrganizationId '{0}': {1}", federatedOrganizationId.Id, new ArrayTracer <string>(array));
            this.value         = array;
            this.defaultDomain = text;
        }
Ejemplo n.º 5
0
 AcceptedDomain[] IConfigurationSession.FindAcceptedDomainsByFederatedOrgId(FederatedOrganizationId federatedOrganizationId)
 {
     return(base.InvokeWithAPILogging <AcceptedDomain[]>(() => this.GetSession().FindAcceptedDomainsByFederatedOrgId(federatedOrganizationId), "FindAcceptedDomainsByFederatedOrgId"));
 }