public OrganizationSettingsData(ActiveSyncOrganizationSettings organizationSettings, IConfigurationSession scopedSession)
        {
            if (scopedSession == null)
            {
                throw new ArgumentNullException("scopedSession");
            }
            if (organizationSettings == null)
            {
                throw new ArgumentNullException("organizationSettings");
            }
            this.Identity           = organizationSettings.OriginalId;
            this.defaultAccessLevel = organizationSettings.DefaultAccessLevel;
            this.userMailInsert     = organizationSettings.UserMailInsert;
            this.allowAccessForUnSupportedPlatform = organizationSettings.AllowAccessForUnSupportedPlatform;
            this.adminMailRecipients       = organizationSettings.AdminMailRecipients;
            this.otaNotificationMailInsert = organizationSettings.OtaNotificationMailInsert;
            this.deviceFiltering           = null;
            this.IsIntuneManaged           = organizationSettings.IsIntuneManaged;
            if (organizationSettings.DeviceFiltering != null && organizationSettings.DeviceFiltering.DeviceFilters != null)
            {
                this.deviceFiltering = organizationSettings.DeviceFiltering.DeviceFilters.ToDictionary((ActiveSyncDeviceFilter deviceFilter) => deviceFilter.Name);
            }
            ADPagedReader <ActiveSyncDeviceAccessRule> adpagedReader = scopedSession.FindPaged <ActiveSyncDeviceAccessRule>(organizationSettings.Id, QueryScope.OneLevel, null, null, 0);

            foreach (ActiveSyncDeviceAccessRule deviceAccessRule in adpagedReader)
            {
                ((IOrganizationSettingsData)this).AddOrUpdateDeviceAccessRule(deviceAccessRule);
            }
            this.organizationId = organizationSettings.OrganizationId;
        }
 public ActiveSyncSettings(ActiveSyncOrganizationSettings settings) : base(settings)
 {
     this.settings = settings;
     if (settings.AdminMailRecipients == null)
     {
         this.recipients = null;
         return;
     }
     this.recipients = RecipientObjectResolver.Instance.ResolveSmtpAddress(settings.AdminMailRecipients.ToArray());
 }
        private static IOrganizationSettingsData LoadOrganizationSettings(IConfigurationSession scopedSession, IAirSyncContext context)
        {
            ADObjectId organizationId = scopedSession.GetOrgContainerId();
            ActiveSyncOrganizationSettings organizationSettings = null;
            ADOperationResult adoperationResult = ADNotificationAdapter.TryRunADOperation(delegate()
            {
                organizationSettings = scopedSession.Read <ActiveSyncOrganizationSettings>(organizationId.GetDescendantId(new ADObjectId("CN=Mobile Mailbox Settings")));
            });

            if (!adoperationResult.Succeeded)
            {
                AirSyncDiagnostics.TraceDebug <ADObjectId, string>(ExTraceGlobals.RequestsTracer, null, "Exception occurred during AD Operation during LoadOrganizationSettings {0}. Exception Message- {1}", organizationId, adoperationResult.Exception.Message);
            }
            ValidationError[] array = organizationSettings.Validate();
            bool flag = false;

            if (array != null)
            {
                foreach (ValidationError validationError in array)
                {
                    if (string.Equals(validationError.PropertyName, "ConfigurationXMLRaw", StringComparison.OrdinalIgnoreCase))
                    {
                        flag = true;
                    }
                }
            }
            if (flag)
            {
                organizationSettings.DeviceFiltering = null;
            }
            ADRawEntry adrawEntry = scopedSession.ReadADRawEntry(organizationId, new PropertyDefinition[]
            {
                OrganizationSchema.IntuneManagedStatus
            });

            organizationSettings.IsIntuneManaged = (adrawEntry != null && (bool)adrawEntry[OrganizationSchema.IntuneManagedStatus]);
            AirSyncDiagnostics.TraceInfo <bool>(ExTraceGlobals.RequestsTracer, null, "LoadOrganizationSettings from AD.IntuneManagedStatus {0}.", organizationSettings.IsIntuneManaged);
            if (context != null)
            {
                context.ProtocolLogger.SetValue(ProtocolLoggerData.DomainController, scopedSession.LastUsedDc);
            }
            if (organizationSettings != null)
            {
                AirSyncDiagnostics.TraceInfo <int>(ExTraceGlobals.RequestsTracer, null, "LoadOrganizationSettings from AD. Found {0} OrganizationSettings.", 1);
                return(ADNotificationManager.AddOrganizationSettingsToCache(organizationSettings, scopedSession));
            }
            AirSyncDiagnostics.TraceError <ADObjectId>(ExTraceGlobals.RequestsTracer, null, "Cannot find ActiveSyncOrganizationSettings object in AD for organization {0}", organizationId);
            return(null);
        }
        private static IOrganizationSettingsData AddOrganizationSettingsToCache(ActiveSyncOrganizationSettings organizationSettings, IConfigurationSession scopedSession)
        {
            IOrganizationSettingsData organizationSettingsData = null;

            if (organizationSettings != null)
            {
                organizationSettingsData = new OrganizationSettingsData(organizationSettings, scopedSession);
                if (organizationSettings.OrganizationId != null && organizationSettings.OrganizationId.ConfigurationUnit != null)
                {
                    AirSyncDiagnostics.TraceDebug <OrganizationId>(ExTraceGlobals.RequestsTracer, null, "Adding OrganizationSettings for org: {0}.", organizationSettings.OrganizationId);
                    ADNotificationManager.organizationSettingsCache.Add(organizationSettings.OrganizationId.ConfigurationUnit.DistinguishedName, new ADNotificationManager.ADSettingsInfo <IOrganizationSettingsData>(organizationSettings.OrganizationId.PartitionId, organizationSettingsData, ExDateTime.UtcNow));
                }
                else
                {
                    if (ADNotificationManager.enterpriseConfigurationID == null)
                    {
                        ADNotificationManager.enterpriseConfigurationID = scopedSession.GetOrgContainerId();
                    }
                    AirSyncDiagnostics.TraceDebug <ADObjectId>(ExTraceGlobals.RequestsTracer, null, "Adding OrganizationSettings for enterprise: {0}.", ADNotificationManager.enterpriseConfigurationID);
                    ADNotificationManager.organizationSettingsCache.Add(ADNotificationManager.enterpriseConfigurationID.DistinguishedName, new ADNotificationManager.ADSettingsInfo <IOrganizationSettingsData>(null, organizationSettingsData, ExDateTime.UtcNow));
                }
            }
            return(organizationSettingsData);
        }
 // Token: 0x06000818 RID: 2072 RVA: 0x0001D8CF File Offset: 0x0001BACF
 public ActiveSyncOrganizationSettingsIdParameter(ActiveSyncOrganizationSettings settings) : base(settings.Id)
 {
 }