Exemple #1
0
        protected void SaveSettings(RewardPointsSettings settings, RewardPointsModel model, int storeScope)
        {
            //common settings
            settings = model.ToSettings(settings);

            //some of specific settings
            if (model.ActivatePointsImmediately)
            {
                settings.ActivationDelay = 0;
            }

            /* We do not clear cache after each setting update.
             * This behavior can increase performance because cached settings will not be cleared
             * and loaded from database after each update */
            _settingService.SaveSettingOverridablePerStore(settings, x => x.IsEnabled, model.IsEnabled_OverrideForStore, storeScope, false);
            _settingService.SaveSettingOverridablePerStore(settings, x => x.Points, model.Points_OverrideForStore, storeScope, false);
            _settingService.SaveSettingOverridablePerStore(settings, x => x.ActivationDelay, model.ActivationDelay_OverrideForStore, storeScope, false);
            _settingService.SaveSettingOverridablePerStore(settings, x => x.ActivationDelayPeriodId, model.ActivationDelay_OverrideForStore, storeScope, false);
            _settingService.SaveSettingOverridablePerStore(settings, x => x.Message, model.Message_OverrideForStore, storeScope, false);

            //localization. no multi-store support for localization yet
            foreach (var localized in model.Locales)
            {
                settings.SaveLocalizedSetting(x => x.Message, localized.LanguageId, localized.Message);
            }
        }