public ActionResult Configure() { //load settings for a chosen store scope var storeScope = this.GetActiveStoreScopeConfiguration(_storeService, _workContext); var cameraSettings = _settingService.LoadSetting<CameraSettings>(storeScope); var model = new ConfigurationModel(); model.Picture1Id = cameraSettings.Picture1Id; model.Text1 = cameraSettings.Text1; model.Link1 = cameraSettings.Link1; model.Picture2Id = cameraSettings.Picture2Id; model.Text2 = cameraSettings.Text2; model.Link2 = cameraSettings.Link2; model.Picture3Id = cameraSettings.Picture3Id; model.Text3 = cameraSettings.Text3; model.Link3 = cameraSettings.Link3; model.Picture4Id = cameraSettings.Picture4Id; model.Text4 = cameraSettings.Text4; model.Link4 = cameraSettings.Link4; model.Picture5Id = cameraSettings.Picture5Id; model.Text5 = cameraSettings.Text5; model.Link5 = cameraSettings.Link5; model.ActiveStoreScopeConfiguration = storeScope; if (storeScope > 0) { model.Picture1Id_OverrideForStore = _settingService.SettingExists(cameraSettings, x => x.Picture1Id, storeScope); model.Text1_OverrideForStore = _settingService.SettingExists(cameraSettings, x => x.Text1, storeScope); model.Link1_OverrideForStore = _settingService.SettingExists(cameraSettings, x => x.Link1, storeScope); model.Picture2Id_OverrideForStore = _settingService.SettingExists(cameraSettings, x => x.Picture2Id, storeScope); model.Text2_OverrideForStore = _settingService.SettingExists(cameraSettings, x => x.Text2, storeScope); model.Link2_OverrideForStore = _settingService.SettingExists(cameraSettings, x => x.Link2, storeScope); model.Picture3Id_OverrideForStore = _settingService.SettingExists(cameraSettings, x => x.Picture3Id, storeScope); model.Text3_OverrideForStore = _settingService.SettingExists(cameraSettings, x => x.Text3, storeScope); model.Link3_OverrideForStore = _settingService.SettingExists(cameraSettings, x => x.Link3, storeScope); model.Picture4Id_OverrideForStore = _settingService.SettingExists(cameraSettings, x => x.Picture4Id, storeScope); model.Text4_OverrideForStore = _settingService.SettingExists(cameraSettings, x => x.Text4, storeScope); model.Link4_OverrideForStore = _settingService.SettingExists(cameraSettings, x => x.Link4, storeScope); model.Picture5Id_OverrideForStore = _settingService.SettingExists(cameraSettings, x => x.Picture5Id, storeScope); model.Text5_OverrideForStore = _settingService.SettingExists(cameraSettings, x => x.Text5, storeScope); model.Link5_OverrideForStore = _settingService.SettingExists(cameraSettings, x => x.Link5, storeScope); } return View("~/Plugins/Widgets.Camera/Views/WidgetsCamera/Configure.cshtml", model); }
public ActionResult Configure(ConfigurationModel model) { //load settings for a chosen store scope var storeScope = this.GetActiveStoreScopeConfiguration(_storeService, _workContext); var cameraSettings = _settingService.LoadSetting<CameraSettings>(storeScope); cameraSettings.Picture1Id = model.Picture1Id; cameraSettings.Text1 = model.Text1; cameraSettings.Link1 = model.Link1; cameraSettings.Picture2Id = model.Picture2Id; cameraSettings.Text2 = model.Text2; cameraSettings.Link2 = model.Link2; cameraSettings.Picture3Id = model.Picture3Id; cameraSettings.Text3 = model.Text3; cameraSettings.Link3 = model.Link3; cameraSettings.Picture4Id = model.Picture4Id; cameraSettings.Text4 = model.Text4; cameraSettings.Link4 = model.Link4; cameraSettings.Picture5Id = model.Picture5Id; cameraSettings.Text5 = model.Text5; cameraSettings.Link5 = model.Link5; /* 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(cameraSettings, x => x.Picture1Id, storeScope, false); else if (storeScope > 0) _settingService.DeleteSetting(cameraSettings, x => x.Picture1Id, storeScope); if (model.Text1_OverrideForStore || storeScope == 0) _settingService.SaveSetting(cameraSettings, x => x.Text1, storeScope, false); else if (storeScope > 0) _settingService.DeleteSetting(cameraSettings, x => x.Text1, storeScope); if (model.Link1_OverrideForStore || storeScope == 0) _settingService.SaveSetting(cameraSettings, x => x.Link1, storeScope, false); else if (storeScope > 0) _settingService.DeleteSetting(cameraSettings, x => x.Link1, storeScope); if (model.Picture2Id_OverrideForStore || storeScope == 0) _settingService.SaveSetting(cameraSettings, x => x.Picture2Id, storeScope, false); else if (storeScope > 0) _settingService.DeleteSetting(cameraSettings, x => x.Picture2Id, storeScope); if (model.Text2_OverrideForStore || storeScope == 0) _settingService.SaveSetting(cameraSettings, x => x.Text2, storeScope, false); else if (storeScope > 0) _settingService.DeleteSetting(cameraSettings, x => x.Text2, storeScope); if (model.Link2_OverrideForStore || storeScope == 0) _settingService.SaveSetting(cameraSettings, x => x.Link2, storeScope, false); else if (storeScope > 0) _settingService.DeleteSetting(cameraSettings, x => x.Link2, storeScope); if (model.Picture3Id_OverrideForStore || storeScope == 0) _settingService.SaveSetting(cameraSettings, x => x.Picture3Id, storeScope, false); else if (storeScope > 0) _settingService.DeleteSetting(cameraSettings, x => x.Picture3Id, storeScope); if (model.Text3_OverrideForStore || storeScope == 0) _settingService.SaveSetting(cameraSettings, x => x.Text3, storeScope, false); else if (storeScope > 0) _settingService.DeleteSetting(cameraSettings, x => x.Text3, storeScope); if (model.Link3_OverrideForStore || storeScope == 0) _settingService.SaveSetting(cameraSettings, x => x.Link3, storeScope, false); else if (storeScope > 0) _settingService.DeleteSetting(cameraSettings, x => x.Link3, storeScope); if (model.Picture4Id_OverrideForStore || storeScope == 0) _settingService.SaveSetting(cameraSettings, x => x.Picture4Id, storeScope, false); else if (storeScope > 0) _settingService.DeleteSetting(cameraSettings, x => x.Picture4Id, storeScope); if (model.Text4_OverrideForStore || storeScope == 0) _settingService.SaveSetting(cameraSettings, x => x.Text4, storeScope, false); else if (storeScope > 0) _settingService.DeleteSetting(cameraSettings, x => x.Text4, storeScope); if (model.Link4_OverrideForStore || storeScope == 0) _settingService.SaveSetting(cameraSettings, x => x.Link4, storeScope, false); else if (storeScope > 0) _settingService.DeleteSetting(cameraSettings, x => x.Link4, storeScope); if (model.Picture5Id_OverrideForStore || storeScope == 0) _settingService.SaveSetting(cameraSettings, x => x.Picture5Id, storeScope, false); else if (storeScope > 0) _settingService.DeleteSetting(cameraSettings, x => x.Picture5Id, storeScope); if (model.Text5_OverrideForStore || storeScope == 0) _settingService.SaveSetting(cameraSettings, x => x.Text5, storeScope, false); else if (storeScope > 0) _settingService.DeleteSetting(cameraSettings, x => x.Text5, storeScope); if (model.Link5_OverrideForStore || storeScope == 0) _settingService.SaveSetting(cameraSettings, x => x.Link5, storeScope, false); else if (storeScope > 0) _settingService.DeleteSetting(cameraSettings, x => x.Link5, storeScope); //now clear settings cache _settingService.ClearCache(); SuccessNotification(_localizationService.GetResource("Admin.Plugins.Saved")); return Configure(); }