Beispiel #1
0
        private string GetDefaultOwaUri(IEnumerable <IAcceptedDomain> acceptedDomains, IFederatedOrganizationIdentifier fedOrgId)
        {
            string str = Configuration.TargetOwaPrefix(base.TaskContext.HybridConfigurationObject.ServiceInstance);

            foreach (IAcceptedDomain acceptedDomain in acceptedDomains)
            {
                if (fedOrgId != null)
                {
                    using (MultiValuedProperty <FederatedDomain> .Enumerator enumerator2 = fedOrgId.Domains.GetEnumerator())
                    {
                        while (enumerator2.MoveNext())
                        {
                            FederatedDomain federatedDomain = enumerator2.Current;
                            if (federatedDomain.Domain.Domain.Equals(acceptedDomain.DomainNameDomain, StringComparison.InvariantCultureIgnoreCase))
                            {
                                return(str + acceptedDomain.DomainNameDomain);
                            }
                        }
                        continue;
                    }
                }
                foreach (SmtpDomain smtpDomain in this.HybridDomains)
                {
                    if (smtpDomain.Domain.Equals(acceptedDomain.DomainNameDomain, StringComparison.InvariantCultureIgnoreCase))
                    {
                        return(str + acceptedDomain.DomainNameDomain);
                    }
                }
            }
            throw new LocalizedException(HybridStrings.ErrorNoFederatedDomainsOnTenant);
        }
        public static IList GetAddedFederatedDomains(object originalAccountNS, object accountNS, object federatedDomains)
        {
            SmtpDomain rhs        = originalAccountNS as SmtpDomain;
            SmtpDomain smtpDomain = accountNS as SmtpDomain;
            MultiValuedProperty <FederatedDomain> multiValuedProperty = federatedDomains as MultiValuedProperty <FederatedDomain>;
            List <SmtpDomain> list = new List <SmtpDomain>();

            if (multiValuedProperty != null && smtpDomain != null)
            {
                IList list2 = multiValuedProperty.Added;
                if (!smtpDomain.Equals(rhs))
                {
                    list2 = multiValuedProperty;
                }
                foreach (object obj in list2)
                {
                    FederatedDomain federatedDomain = (FederatedDomain)obj;
                    if (!federatedDomain.Domain.Equals(smtpDomain))
                    {
                        list.Add(federatedDomain.Domain);
                    }
                }
            }
            return(list.ToArray());
        }
        public static MultiValuedProperty <FederatedDomain> GenerateMvpFederatedDomains(object fedDomains)
        {
            MultiValuedProperty <FederatedDomain> multiValuedProperty = new MultiValuedProperty <FederatedDomain>();

            if (!fedDomains.IsNullValue())
            {
                foreach (object obj in ((IList)fedDomains))
                {
                    FederatedDomain item = (FederatedDomain)obj;
                    multiValuedProperty.Add(item);
                }
            }
            multiValuedProperty.ResetChangeTracking();
            return(multiValuedProperty);
        }