public ActionResult Configure() { //load settings for a chosen store scope var storeScope = this.GetActiveStoreScopeConfiguration(_storeService, _workContext); var nivoSliderSettings = _settingService.LoadSetting<NivoSliderSettings>(storeScope); var model = new ConfigurationModel(); model.Picture1Id = nivoSliderSettings.Picture1Id; model.Text1 = nivoSliderSettings.Text1; model.Link1 = nivoSliderSettings.Link1; model.Picture2Id = nivoSliderSettings.Picture2Id; model.Text2 = nivoSliderSettings.Text2; model.Link2 = nivoSliderSettings.Link2; model.Picture3Id = nivoSliderSettings.Picture3Id; model.Text3 = nivoSliderSettings.Text3; model.Link3 = nivoSliderSettings.Link3; model.Picture4Id = nivoSliderSettings.Picture4Id; model.Text4 = nivoSliderSettings.Text4; model.Link4 = nivoSliderSettings.Link4; model.ActiveStoreScopeConfiguration = storeScope; if (storeScope > 0) { model.Picture1Id_OverrideForStore = _settingService.SettingExists(nivoSliderSettings, x => x.Picture1Id, storeScope); model.Text1_OverrideForStore = _settingService.SettingExists(nivoSliderSettings, x => x.Text1, storeScope); model.Link1_OverrideForStore = _settingService.SettingExists(nivoSliderSettings, x => x.Link1, storeScope); model.Picture2Id_OverrideForStore = _settingService.SettingExists(nivoSliderSettings, x => x.Picture2Id, storeScope); model.Text2_OverrideForStore = _settingService.SettingExists(nivoSliderSettings, x => x.Text2, storeScope); model.Link2_OverrideForStore = _settingService.SettingExists(nivoSliderSettings, x => x.Link2, storeScope); model.Picture3Id_OverrideForStore = _settingService.SettingExists(nivoSliderSettings, x => x.Picture3Id, storeScope); model.Text3_OverrideForStore = _settingService.SettingExists(nivoSliderSettings, x => x.Text3, storeScope); model.Link3_OverrideForStore = _settingService.SettingExists(nivoSliderSettings, x => x.Link3, storeScope); model.Picture4Id_OverrideForStore = _settingService.SettingExists(nivoSliderSettings, x => x.Picture4Id, storeScope); model.Text4_OverrideForStore = _settingService.SettingExists(nivoSliderSettings, x => x.Text4, storeScope); model.Link4_OverrideForStore = _settingService.SettingExists(nivoSliderSettings, x => x.Link4, storeScope); } return View("Nas.Plugin.Widgets.NivoSlider.Views.WidgetsNivoSlider.Configure", model); }
public ActionResult Configure(ConfigurationModel model) { //load settings for a chosen store scope var storeScope = this.GetActiveStoreScopeConfiguration(_storeService, _workContext); var nivoSliderSettings = _settingService.LoadSetting<NivoSliderSettings>(storeScope); nivoSliderSettings.Picture1Id = model.Picture1Id; nivoSliderSettings.Text1 = model.Text1; nivoSliderSettings.Link1 = model.Link1; nivoSliderSettings.Picture2Id = model.Picture2Id; nivoSliderSettings.Text2 = model.Text2; nivoSliderSettings.Link2 = model.Link2; nivoSliderSettings.Picture3Id = model.Picture3Id; nivoSliderSettings.Text3 = model.Text3; nivoSliderSettings.Link3 = model.Link3; nivoSliderSettings.Picture4Id = model.Picture4Id; nivoSliderSettings.Text4 = model.Text4; nivoSliderSettings.Link4 = model.Link4; /* 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(nivoSliderSettings, x => x.Picture1Id, storeScope, false); else if (storeScope > 0) _settingService.DeleteSetting(nivoSliderSettings, x => x.Picture1Id, storeScope); if (model.Text1_OverrideForStore || storeScope == 0) _settingService.SaveSetting(nivoSliderSettings, x => x.Text1, storeScope, false); else if (storeScope > 0) _settingService.DeleteSetting(nivoSliderSettings, x => x.Text1, storeScope); if (model.Link1_OverrideForStore || storeScope == 0) _settingService.SaveSetting(nivoSliderSettings, x => x.Link1, storeScope, false); else if (storeScope > 0) _settingService.DeleteSetting(nivoSliderSettings, x => x.Link1, storeScope); if (model.Picture2Id_OverrideForStore || storeScope == 0) _settingService.SaveSetting(nivoSliderSettings, x => x.Picture2Id, storeScope, false); else if (storeScope > 0) _settingService.DeleteSetting(nivoSliderSettings, x => x.Picture2Id, storeScope); if (model.Text2_OverrideForStore || storeScope == 0) _settingService.SaveSetting(nivoSliderSettings, x => x.Text2, storeScope, false); else if (storeScope > 0) _settingService.DeleteSetting(nivoSliderSettings, x => x.Text2, storeScope); if (model.Link2_OverrideForStore || storeScope == 0) _settingService.SaveSetting(nivoSliderSettings, x => x.Link2, storeScope, false); else if (storeScope > 0) _settingService.DeleteSetting(nivoSliderSettings, x => x.Link2, storeScope); if (model.Picture3Id_OverrideForStore || storeScope == 0) _settingService.SaveSetting(nivoSliderSettings, x => x.Picture3Id, storeScope, false); else if (storeScope > 0) _settingService.DeleteSetting(nivoSliderSettings, x => x.Picture3Id, storeScope); if (model.Text3_OverrideForStore || storeScope == 0) _settingService.SaveSetting(nivoSliderSettings, x => x.Text3, storeScope, false); else if (storeScope > 0) _settingService.DeleteSetting(nivoSliderSettings, x => x.Text3, storeScope); if (model.Link3_OverrideForStore || storeScope == 0) _settingService.SaveSetting(nivoSliderSettings, x => x.Link3, storeScope, false); else if (storeScope > 0) _settingService.DeleteSetting(nivoSliderSettings, x => x.Link3, storeScope); if (model.Picture4Id_OverrideForStore || storeScope == 0) _settingService.SaveSetting(nivoSliderSettings, x => x.Picture4Id, storeScope, false); else if (storeScope > 0) _settingService.DeleteSetting(nivoSliderSettings, x => x.Picture4Id, storeScope); if (model.Text4_OverrideForStore || storeScope == 0) _settingService.SaveSetting(nivoSliderSettings, x => x.Text4, storeScope, false); else if (storeScope > 0) _settingService.DeleteSetting(nivoSliderSettings, x => x.Text4, storeScope); if (model.Link4_OverrideForStore || storeScope == 0) _settingService.SaveSetting(nivoSliderSettings, x => x.Link4, storeScope, false); else if (storeScope > 0) _settingService.DeleteSetting(nivoSliderSettings, x => x.Link4, storeScope); //now clear settings cache _settingService.ClearCache(); return Configure(); }