public ActionResult Configure()
        {
            //load settings for a chosen store scope
            var storeScope = this.GetActiveStoreScopeConfiguration(_storeService,_workContext);
            var CustomSliderSettings = _settingService.LoadSetting<CustomSliderSettings>(storeScope);
            var model = new ConfigurationModel();
            model.Picture1Id = CustomSliderSettings.Picture1Id;
            model.Title1 = CustomSliderSettings.Title1;
            model.ShortDescription1 = CustomSliderSettings.ShortDescription1;
            model.ButtonText1 = CustomSliderSettings.ButtonText1;
            model.Link1 = CustomSliderSettings.Link1;

            model.Picture2Id = CustomSliderSettings.Picture2Id;
            model.Title2 = CustomSliderSettings.Title2;
            model.ShortDescription2 = CustomSliderSettings.ShortDescription2;
            model.ButtonText2 = CustomSliderSettings.ButtonText2;
            model.Link2 = CustomSliderSettings.Link2;

            model.Picture3Id = CustomSliderSettings.Picture3Id;
            model.Title3 = CustomSliderSettings.Title3;
            model.ShortDescription3 = CustomSliderSettings.ShortDescription3;
            model.ButtonText3 = CustomSliderSettings.ButtonText3;
            model.Link3 = CustomSliderSettings.Link3;

            model.Picture4Id = CustomSliderSettings.Picture4Id;
            model.Title4 = CustomSliderSettings.Title3;
            model.ShortDescription4 = CustomSliderSettings.ShortDescription4;
            model.ButtonText4 = CustomSliderSettings.ButtonText4;
            model.Link4 = CustomSliderSettings.Link4;

            model.Picture5Id = CustomSliderSettings.Picture5Id;
            model.Title5 = CustomSliderSettings.Title5;
            model.ShortDescription5 = CustomSliderSettings.ShortDescription5;
            model.ButtonText5 = CustomSliderSettings.ButtonText5;
            model.Link5 = CustomSliderSettings.Link5;

            model.Picture6Id = CustomSliderSettings.Picture6Id;
            model.Title6 = CustomSliderSettings.Title6;
            model.ShortDescription6 = CustomSliderSettings.ShortDescription6;
            model.ButtonText6 = CustomSliderSettings.ButtonText6;
            model.Link6 = CustomSliderSettings.Link6;

            model.ActiveStoreScopeConfiguration = storeScope;
            if (storeScope > 0)
            {
                model.Picture1Id_OverrideForStore = _settingService.SettingExists(CustomSliderSettings, x => x.Picture1Id, storeScope);
                model.Title1_OverrideForStore = _settingService.SettingExists(CustomSliderSettings, x => x.Title1, storeScope);
                model.ShortDescription1_OverrideForStore = _settingService.SettingExists(CustomSliderSettings, x => x.ShortDescription1, storeScope);
                model.ButtonText1_OverrideForStore = _settingService.SettingExists(CustomSliderSettings, x => x.ButtonText1, storeScope);
                model.Link1_OverrideForStore = _settingService.SettingExists(CustomSliderSettings, x => x.Link1, storeScope);

                model.Picture2Id_OverrideForStore = _settingService.SettingExists(CustomSliderSettings, x => x.Picture2Id, storeScope);
                model.Title2_OverrideForStore = _settingService.SettingExists(CustomSliderSettings, x => x.Title2, storeScope);
                model.ShortDescription2_OverrideForStore = _settingService.SettingExists(CustomSliderSettings, x => x.ShortDescription2, storeScope);
                model.ButtonText2_OverrideForStore = _settingService.SettingExists(CustomSliderSettings, x => x.ButtonText2, storeScope);
                model.Link2_OverrideForStore = _settingService.SettingExists(CustomSliderSettings, x => x.Link2, storeScope);

                model.Picture3Id_OverrideForStore = _settingService.SettingExists(CustomSliderSettings, x => x.Picture3Id, storeScope);
                model.Title3_OverrideForStore = _settingService.SettingExists(CustomSliderSettings, x => x.Title3, storeScope);
                model.ShortDescription3_OverrideForStore = _settingService.SettingExists(CustomSliderSettings, x => x.ShortDescription3, storeScope);
                model.ButtonText3_OverrideForStore = _settingService.SettingExists(CustomSliderSettings, x => x.ButtonText3, storeScope);
                model.Link3_OverrideForStore = _settingService.SettingExists(CustomSliderSettings, x => x.Link3, storeScope);

                model.Picture4Id_OverrideForStore = _settingService.SettingExists(CustomSliderSettings, x => x.Picture4Id, storeScope);
                model.Title4_OverrideForStore = _settingService.SettingExists(CustomSliderSettings, x => x.Title4, storeScope);
                model.ShortDescription4_OverrideForStore = _settingService.SettingExists(CustomSliderSettings, x => x.ShortDescription4, storeScope);
                model.ButtonText4_OverrideForStore = _settingService.SettingExists(CustomSliderSettings, x => x.ButtonText4, storeScope);
                model.Link4_OverrideForStore = _settingService.SettingExists(CustomSliderSettings, x => x.Link4, storeScope);

                model.Picture5Id_OverrideForStore = _settingService.SettingExists(CustomSliderSettings, x => x.Picture5Id, storeScope);
                model.Title5_OverrideForStore = _settingService.SettingExists(CustomSliderSettings, x => x.Title5, storeScope);
                model.ShortDescription5_OverrideForStore = _settingService.SettingExists(CustomSliderSettings, x => x.ShortDescription5, storeScope);
                model.ButtonText5_OverrideForStore = _settingService.SettingExists(CustomSliderSettings, x => x.ButtonText5, storeScope);
                model.Link5_OverrideForStore = _settingService.SettingExists(CustomSliderSettings, x => x.Link5, storeScope);

                model.Picture6Id_OverrideForStore = _settingService.SettingExists(CustomSliderSettings, x => x.Picture6Id, storeScope);
                model.Title6_OverrideForStore = _settingService.SettingExists(CustomSliderSettings, x => x.Title6, storeScope);
                model.ShortDescription6_OverrideForStore = _settingService.SettingExists(CustomSliderSettings, x => x.ShortDescription6, storeScope);
                model.ButtonText6_OverrideForStore = _settingService.SettingExists(CustomSliderSettings, x => x.ButtonText4, storeScope);
                model.Link4_OverrideForStore = _settingService.SettingExists(CustomSliderSettings, x => x.Link6, storeScope);
            }

            return View("Nop.Plugin.Widgets.CustomSlider.Views.WidgetsCustomSlider.Configure", model);
        }
        public ActionResult Configure(ConfigurationModel model)
        {
            //load settings for a chosen store scope
            var storeScope = this.GetActiveStoreScopeConfiguration(_storeService, _workContext);
            var CustomSliderSettings = _settingService.LoadSetting<CustomSliderSettings>(storeScope);
            CustomSliderSettings.Picture1Id = model.Picture1Id;
            CustomSliderSettings.Title1 = model.Title1;
            CustomSliderSettings.ShortDescription1 = model.ShortDescription1;
            CustomSliderSettings.ButtonText1 = model.ButtonText1;
            CustomSliderSettings.Link1 = model.Link1;

            CustomSliderSettings.Picture2Id = model.Picture2Id;
            CustomSliderSettings.Title2 = model.Title2;
            CustomSliderSettings.ShortDescription2 = model.ShortDescription2;
            CustomSliderSettings.ButtonText2 = model.ButtonText2;
            CustomSliderSettings.Link2 = model.Link2;

            CustomSliderSettings.Picture3Id = model.Picture3Id;
            CustomSliderSettings.Title3 = model.Title3;
            CustomSliderSettings.ShortDescription3 = model.ShortDescription3;
            CustomSliderSettings.ButtonText3 = model.ButtonText3;
            CustomSliderSettings.Link3 = model.Link3;

            CustomSliderSettings.Picture4Id = model.Picture4Id;
            CustomSliderSettings.Title4 = model.Title4;
            CustomSliderSettings.ShortDescription4 = model.ShortDescription4;
            CustomSliderSettings.ButtonText4 = model.ButtonText4;
            CustomSliderSettings.Link4 = model.Link4;

            CustomSliderSettings.Picture5Id = model.Picture5Id;
            CustomSliderSettings.Title5 = model.Title5;
            CustomSliderSettings.ShortDescription5 = model.ShortDescription5;
            CustomSliderSettings.ButtonText5 = model.ButtonText5;
            CustomSliderSettings.Link5 = model.Link5;

            CustomSliderSettings.Picture6Id = model.Picture6Id;
            CustomSliderSettings.Title6 = model.Title6;
            CustomSliderSettings.ShortDescription6 = model.ShortDescription6;
            CustomSliderSettings.ButtonText6 = model.ButtonText6;
            CustomSliderSettings.Link6 = model.Link6;

            /* 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 */
            if (model.Picture1Id_OverrideForStore || storeScope == 0)
                _settingService.SaveSetting(CustomSliderSettings, x => x.Picture1Id, storeScope, false);
            else if (storeScope > 0)
                _settingService.DeleteSetting(CustomSliderSettings, x => x.Picture1Id, storeScope);

            if (model.Title1_OverrideForStore || storeScope == 0)
                _settingService.SaveSetting(CustomSliderSettings, x => x.Title1, storeScope, false);
            else if (storeScope > 0)
                _settingService.DeleteSetting(CustomSliderSettings, x => x.Title1, storeScope);

            if (model.ShortDescription1_OverrideForStore || storeScope == 0)
                _settingService.SaveSetting(CustomSliderSettings, x => x.ShortDescription1, storeScope, false);
            else if (storeScope > 0)
                _settingService.DeleteSetting(CustomSliderSettings, x => x.ShortDescription1, storeScope);

            if (model.ButtonText1_OverrideForStore || storeScope == 0)
                _settingService.SaveSetting(CustomSliderSettings, x => x.ButtonText1, storeScope, false);
            else if (storeScope > 0)
                _settingService.DeleteSetting(CustomSliderSettings, x => x.ButtonText1, storeScope);

            if (model.Link1_OverrideForStore || storeScope == 0)
                _settingService.SaveSetting(CustomSliderSettings, x => x.Link1, storeScope, false);
            else if (storeScope > 0)
                _settingService.DeleteSetting(CustomSliderSettings, x => x.Link1, storeScope);

            if (model.Picture2Id_OverrideForStore || storeScope == 0)
                _settingService.SaveSetting(CustomSliderSettings, x => x.Picture2Id, storeScope, false);
            else if (storeScope > 0)
                _settingService.DeleteSetting(CustomSliderSettings, x => x.Picture2Id, storeScope);

            if (model.Title2_OverrideForStore || storeScope == 0)
                _settingService.SaveSetting(CustomSliderSettings, x => x.Title2, storeScope, false);
            else if (storeScope > 0)
                _settingService.DeleteSetting(CustomSliderSettings, x => x.Title2, storeScope);

            if (model.ShortDescription2_OverrideForStore || storeScope == 0)
                _settingService.SaveSetting(CustomSliderSettings, x => x.ShortDescription2, storeScope, false);
            else if (storeScope > 0)
                _settingService.DeleteSetting(CustomSliderSettings, x => x.ShortDescription2, storeScope);

            if (model.ButtonText2_OverrideForStore || storeScope == 0)
                _settingService.SaveSetting(CustomSliderSettings, x => x.ButtonText2, storeScope, false);
            else if (storeScope > 0)
                _settingService.DeleteSetting(CustomSliderSettings, x => x.ButtonText2, storeScope);

            if (model.Link2_OverrideForStore || storeScope == 0)
                _settingService.SaveSetting(CustomSliderSettings, x => x.Link2, storeScope, false);
            else if (storeScope > 0)
                _settingService.DeleteSetting(CustomSliderSettings, x => x.Link2, storeScope);

            if (model.Picture3Id_OverrideForStore || storeScope == 0)
                _settingService.SaveSetting(CustomSliderSettings, x => x.Picture3Id, storeScope, false);
            else if (storeScope > 0)
                _settingService.DeleteSetting(CustomSliderSettings, x => x.Picture3Id, storeScope);

            if (model.Title3_OverrideForStore || storeScope == 0)
                _settingService.SaveSetting(CustomSliderSettings, x => x.Title3, storeScope, false);
            else if (storeScope > 0)
                _settingService.DeleteSetting(CustomSliderSettings, x => x.Title3, storeScope);

            if (model.ShortDescription3_OverrideForStore || storeScope == 0)
                _settingService.SaveSetting(CustomSliderSettings, x => x.ShortDescription3, storeScope, false);
            else if (storeScope > 0)
                _settingService.DeleteSetting(CustomSliderSettings, x => x.ShortDescription3, storeScope);

            if (model.ButtonText3_OverrideForStore || storeScope == 0)
                _settingService.SaveSetting(CustomSliderSettings, x => x.ButtonText3, storeScope, false);
            else if (storeScope > 0)
                _settingService.DeleteSetting(CustomSliderSettings, x => x.ButtonText3, storeScope);

            if (model.Link3_OverrideForStore || storeScope == 0)
                _settingService.SaveSetting(CustomSliderSettings, x => x.Link3, storeScope, false);
            else if (storeScope > 0)
                _settingService.DeleteSetting(CustomSliderSettings, x => x.Link3, storeScope);

            if (model.Picture4Id_OverrideForStore || storeScope == 0)
                _settingService.SaveSetting(CustomSliderSettings, x => x.Picture4Id, storeScope, false);
            else if (storeScope > 0)
                _settingService.DeleteSetting(CustomSliderSettings, x => x.Picture4Id, storeScope);

            if (model.Title4_OverrideForStore || storeScope == 0)
                _settingService.SaveSetting(CustomSliderSettings, x => x.Title4, storeScope, false);
            else if (storeScope > 0)
                _settingService.DeleteSetting(CustomSliderSettings, x => x.Title4, storeScope);

            if (model.ShortDescription4_OverrideForStore || storeScope == 0)
                _settingService.SaveSetting(CustomSliderSettings, x => x.ShortDescription4, storeScope, false);
            else if (storeScope > 0)
                _settingService.DeleteSetting(CustomSliderSettings, x => x.ShortDescription4, storeScope);

            if (model.ButtonText4_OverrideForStore || storeScope == 0)
                _settingService.SaveSetting(CustomSliderSettings, x => x.ButtonText4, storeScope, false);
            else if (storeScope > 0)
                _settingService.DeleteSetting(CustomSliderSettings, x => x.ButtonText4, storeScope);

            if (model.Link4_OverrideForStore || storeScope == 0)
                _settingService.SaveSetting(CustomSliderSettings, x => x.Link4, storeScope, false);
            else if (storeScope > 0)
                _settingService.DeleteSetting(CustomSliderSettings, x => x.Link4, storeScope);

            if (model.Picture5Id_OverrideForStore || storeScope == 0)
                _settingService.SaveSetting(CustomSliderSettings, x => x.Picture5Id, storeScope, false);
            else if (storeScope > 0)
                _settingService.DeleteSetting(CustomSliderSettings, x => x.Picture5Id, storeScope);

            if (model.Title5_OverrideForStore || storeScope == 0)
                _settingService.SaveSetting(CustomSliderSettings, x => x.Title5, storeScope, false);
            else if (storeScope > 0)
                _settingService.DeleteSetting(CustomSliderSettings, x => x.Title5, storeScope);

            if (model.ShortDescription5_OverrideForStore || storeScope == 0)
                _settingService.SaveSetting(CustomSliderSettings, x => x.ShortDescription5, storeScope, false);
            else if (storeScope > 0)
                _settingService.DeleteSetting(CustomSliderSettings, x => x.ShortDescription5, storeScope);

            if (model.ButtonText5_OverrideForStore || storeScope == 0)
                _settingService.SaveSetting(CustomSliderSettings, x => x.ButtonText5, storeScope, false);
            else if (storeScope > 0)
                _settingService.DeleteSetting(CustomSliderSettings, x => x.ButtonText5, storeScope);

            if (model.Link5_OverrideForStore || storeScope == 0)
                _settingService.SaveSetting(CustomSliderSettings, x => x.Link5, storeScope, false);
            else if (storeScope > 0)
                _settingService.DeleteSetting(CustomSliderSettings, x => x.Link5, storeScope);

            if (model.Picture6Id_OverrideForStore || storeScope == 0)
                _settingService.SaveSetting(CustomSliderSettings, x => x.Picture6Id, storeScope, false);
            else if (storeScope > 0)
                _settingService.DeleteSetting(CustomSliderSettings, x => x.Picture6Id, storeScope);

            if (model.Title6_OverrideForStore || storeScope == 0)
                _settingService.SaveSetting(CustomSliderSettings, x => x.Title6, storeScope, false);
            else if (storeScope > 0)
                _settingService.DeleteSetting(CustomSliderSettings, x => x.Title6, storeScope);

            if (model.ShortDescription6_OverrideForStore || storeScope == 0)
                _settingService.SaveSetting(CustomSliderSettings, x => x.ShortDescription6, storeScope, false);
            else if (storeScope > 0)
                _settingService.DeleteSetting(CustomSliderSettings, x => x.ShortDescription6, storeScope);

            if (model.ButtonText6_OverrideForStore || storeScope == 0)
                _settingService.SaveSetting(CustomSliderSettings, x => x.ButtonText6, storeScope, false);
            else if (storeScope > 0)
                _settingService.DeleteSetting(CustomSliderSettings, x => x.ButtonText6, storeScope);

            if (model.Link5_OverrideForStore || storeScope == 0)
                _settingService.SaveSetting(CustomSliderSettings, x => x.Link6, storeScope, false);
            else if (storeScope > 0)
                _settingService.DeleteSetting(CustomSliderSettings, x => x.Link6, storeScope);

            //now clear settings cache
            _settingService.ClearCache();

            return Configure();
        }