private ADObjectId GetPolicyIdFromAD(OrganizationId key)
        {
            OwaMailboxPolicy defaultOwaMailboxPolicy = OwaSegmentationSettings.GetDefaultOwaMailboxPolicy(key);

            if (defaultOwaMailboxPolicy == null)
            {
                return(null);
            }
            return(defaultOwaMailboxPolicy.Id);
        }
        internal ADObjectId GetDefaultOwaMailboxPolicyId(ADObject user)
        {
            ADObjectId     adobjectId     = null;
            OrganizationId organizationId = user.OrganizationId;

            if (!this.owaMailboxPolicyCache.TryGetValue(organizationId, out adobjectId))
            {
                OwaMailboxPolicy defaultOwaMailboxPolicy = OwaSegmentationSettings.GetDefaultOwaMailboxPolicy(organizationId);
                if (defaultOwaMailboxPolicy != null)
                {
                    adobjectId = defaultOwaMailboxPolicy.Id;
                }
                this.owaMailboxPolicyCache.Add(organizationId, adobjectId);
            }
            return(adobjectId);
        }
Exemple #3
0
        protected override void WriteResult(IConfigurable dataObject)
        {
            TaskLogger.LogEnter();
            ADUser     aduser = (ADUser)dataObject;
            ADObjectId owaMailboxPolicy;

            if (aduser.OwaMailboxPolicy != null && OwaSegmentationSettings.UpdateOwaMailboxPolicy(aduser.OrganizationId, aduser.OwaMailboxPolicy, out owaMailboxPolicy))
            {
                aduser.OwaMailboxPolicy = owaMailboxPolicy;
            }
            if (this.RecalculateHasActiveSyncDevicePartnership == true)
            {
                IConfigurationSession configurationSession = this.GetConfigurationSession();
                MobileDevice[]        array = configurationSession.Find <MobileDevice>(aduser.ObjectId, QueryScope.SubTree, null, null, 0);
                bool flag = array.Length > 0;
                if (flag != aduser.HasActiveSyncDevicePartnership)
                {
                    aduser.HasActiveSyncDevicePartnership = flag;
                    IRecipientSession recipientSession = (IRecipientSession)this.CreateSession();
                    recipientSession.Save(aduser);
                }
            }
            base.WriteResult(aduser);
        }