예제 #1
0
 public static void Validate(VariantConfigurationOverride o)
 {
     SettingOverride.Validate(o, false);
 }
예제 #2
0
        private IEnumerable <SettingOverrideSync.SettingOverrideDiagnosticInfo> ReadOverrides()
        {
            ADOperationResult      adoperationResult = null;
            List <SettingOverride> list = new List <SettingOverride>();
            List <SettingOverrideSync.SettingOverrideDiagnosticInfo> list2 = new List <SettingOverrideSync.SettingOverrideDiagnosticInfo>();

            try
            {
                bool[] array = new bool[]
                {
                    default(bool),
                    true
                };
                for (int i = 0; i < array.Length; i++)
                {
                    SettingOverrideSync.< > c__DisplayClass1a CS$ < > 8__locals1 = new SettingOverrideSync.< > c__DisplayClass1a();
                    CS$ < > 8__locals1.isFlight = array[i];
                    SettingOverride[] adOverridesSubset = null;
                    adoperationResult = ADNotificationAdapter.TryRunADOperation(delegate()
                    {
                        adOverridesSubset = this.session.Find <SettingOverride>(SettingOverride.GetContainerId(CS$ < > 8__locals1.isFlight), QueryScope.OneLevel, null, null, int.MaxValue);
                    }, 3);
                    if (adOverridesSubset != null)
                    {
                        list.AddRange(adOverridesSubset);
                    }
                }
            }
            catch (LocalizedException innerException)
            {
                throw new ConfigurationSettingsADConfigDriverException(innerException);
            }
            catch (InvalidOperationException innerException2)
            {
                throw new ConfigurationSettingsADConfigDriverException(innerException2);
            }
            if (!adoperationResult.Succeeded)
            {
                throw new ConfigurationSettingsADNotificationException(adoperationResult.Exception);
            }
            list.Sort(new Comparison <SettingOverride>(SettingOverrideSync.Compare));
            List <SettingOverrideException> list3 = new List <SettingOverrideException>();

            foreach (SettingOverride settingOverride in list)
            {
                if (!settingOverride.Applies)
                {
                    list2.Add(new SettingOverrideSync.SettingOverrideDiagnosticInfo(settingOverride, SettingOverrideSync.OverrideStatus.NotApplicable, null));
                }
                else
                {
                    try
                    {
                        SettingOverride.Validate(settingOverride.GetVariantConfigurationOverride(), true);
                    }
                    catch (SettingOverrideException ex)
                    {
                        list3.Add(ex);
                        list2.Add(new SettingOverrideSync.SettingOverrideDiagnosticInfo(settingOverride, SettingOverrideSync.OverrideStatus.Invalid, ex));
                        continue;
                    }
                    list2.Add(new SettingOverrideSync.SettingOverrideDiagnosticInfo(settingOverride, SettingOverrideSync.OverrideStatus.Accepted, null));
                }
            }
            this.HandleSettingOverrideException(list3);
            return(list2);
        }