public ActionResult Configure() { //load settings for a chosen store scope var storeScope = this.GetActiveStoreScopeConfiguration(_storeService, _workContext); var cashOnDeliveryPaymentSettings = _settingService.LoadSetting<CashOnDeliveryPaymentSettings>(storeScope); var model = new ConfigurationModel(); model.DescriptionText = cashOnDeliveryPaymentSettings.DescriptionText; //locales AddLocales(_languageService, model.Locales, (locale, languageId) => { locale.DescriptionText = cashOnDeliveryPaymentSettings.GetLocalizedSetting(x => x.DescriptionText, languageId, false, false); }); model.AdditionalFee = cashOnDeliveryPaymentSettings.AdditionalFee; model.AdditionalFeePercentage = cashOnDeliveryPaymentSettings.AdditionalFeePercentage; model.ShippableProductRequired = cashOnDeliveryPaymentSettings.ShippableProductRequired; model.ActiveStoreScopeConfiguration = storeScope; if (storeScope > 0) { model.DescriptionText_OverrideForStore = _settingService.SettingExists(cashOnDeliveryPaymentSettings, x => x.DescriptionText, storeScope); model.AdditionalFee_OverrideForStore = _settingService.SettingExists(cashOnDeliveryPaymentSettings, x => x.AdditionalFee, storeScope); model.AdditionalFeePercentage_OverrideForStore = _settingService.SettingExists(cashOnDeliveryPaymentSettings, x => x.AdditionalFeePercentage, storeScope); model.ShippableProductRequired_OverrideForStore = _settingService.SettingExists(cashOnDeliveryPaymentSettings, x => x.ShippableProductRequired, storeScope); } return View("~/Plugins/Payments.CashOnDelivery/Views/PaymentCashOnDelivery/Configure.cshtml", model); }
public ActionResult Configure() { var model = new ConfigurationModel(); model.DescriptionText = _cashOnDeliveryPaymentSettings.DescriptionText; model.AdditionalFee = _cashOnDeliveryPaymentSettings.AdditionalFee; return View("Nop.Plugin.Payments.CashOnDelivery.Views.PaymentCashOnDelivery.Configure", model); }
public ActionResult Configure(ConfigurationModel model) { if (!ModelState.IsValid) return Configure(); //load settings for a chosen store scope var storeScope = this.GetActiveStoreScopeConfiguration(_storeService, _workContext); var cashOnDeliveryPaymentSettings = _settingService.LoadSetting<CashOnDeliveryPaymentSettings>(storeScope); //save settings cashOnDeliveryPaymentSettings.DescriptionText = model.DescriptionText; cashOnDeliveryPaymentSettings.AdditionalFee = model.AdditionalFee; cashOnDeliveryPaymentSettings.AdditionalFeePercentage = model.AdditionalFeePercentage; cashOnDeliveryPaymentSettings.ShippableProductRequired = model.ShippableProductRequired; /* 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.DescriptionText_OverrideForStore || storeScope == 0) _settingService.SaveSetting(cashOnDeliveryPaymentSettings, x => x.DescriptionText, storeScope, false); else if (storeScope > 0) _settingService.DeleteSetting(cashOnDeliveryPaymentSettings, x => x.DescriptionText, storeScope); if (model.AdditionalFee_OverrideForStore || storeScope == 0) _settingService.SaveSetting(cashOnDeliveryPaymentSettings, x => x.AdditionalFee, storeScope, false); else if (storeScope > 0) _settingService.DeleteSetting(cashOnDeliveryPaymentSettings, x => x.AdditionalFee, storeScope); if (model.AdditionalFeePercentage_OverrideForStore || storeScope == 0) _settingService.SaveSetting(cashOnDeliveryPaymentSettings, x => x.AdditionalFeePercentage, storeScope, false); else if (storeScope > 0) _settingService.DeleteSetting(cashOnDeliveryPaymentSettings, x => x.AdditionalFeePercentage, storeScope); if (model.ShippableProductRequired_OverrideForStore || storeScope == 0) _settingService.SaveSetting(cashOnDeliveryPaymentSettings, x => x.ShippableProductRequired, storeScope, false); else if (storeScope > 0) _settingService.DeleteSetting(cashOnDeliveryPaymentSettings, x => x.ShippableProductRequired, storeScope); //now clear settings cache _settingService.ClearCache(); //localization. no multi-store support for localization yet. foreach (var localized in model.Locales) { cashOnDeliveryPaymentSettings.SaveLocalizedSetting(x => x.DescriptionText, localized.LanguageId, localized.DescriptionText); } SuccessNotification(_localizationService.GetResource("Admin.Plugins.Saved")); return Configure(); }
public ActionResult Configure(ConfigurationModel model) { if (!ModelState.IsValid) return Configure(); //save settings _cashOnDeliveryPaymentSettings.DescriptionText = model.DescriptionText; _cashOnDeliveryPaymentSettings.AdditionalFee = model.AdditionalFee; _settingService.SaveSetting(_cashOnDeliveryPaymentSettings); return View("Nop.Plugin.Payments.CashOnDelivery.Views.PaymentCashOnDelivery.Configure", model); }
public ActionResult Configure() { //load settings for a chosen store scope var storeScope = this.GetActiveStoreScopeConfiguration(_storeService, _workContext); var cashOnDeliveryPaymentSettings = _settingService.LoadSetting<CashOnDeliveryPaymentSettings>(storeScope); var model = new ConfigurationModel(); model.DescriptionText = cashOnDeliveryPaymentSettings.DescriptionText; model.AdditionalFee = cashOnDeliveryPaymentSettings.AdditionalFee; model.AdditionalFeePercentage = cashOnDeliveryPaymentSettings.AdditionalFeePercentage; model.ActiveStoreScopeConfiguration = storeScope; if (storeScope > 0) { model.DescriptionText_OverrideForStore = _settingService.SettingExists(cashOnDeliveryPaymentSettings, x => x.DescriptionText, storeScope); model.AdditionalFee_OverrideForStore = _settingService.SettingExists(cashOnDeliveryPaymentSettings, x => x.AdditionalFee, storeScope); model.AdditionalFeePercentage_OverrideForStore = _settingService.SettingExists(cashOnDeliveryPaymentSettings, x => x.AdditionalFeePercentage, storeScope); } return View("Nop.Plugin.Payments.CashOnDelivery.Views.PaymentCashOnDelivery.Configure", model); }
public ActionResult Configure(ConfigurationModel model) { if (!ModelState.IsValid) return Configure(); //load settings for a chosen store scope var storeScope = this.GetActiveStoreScopeConfiguration(_storeService, _workContext); var cashOnDeliveryPaymentSettings = _settingService.LoadSetting<CashOnDeliveryPaymentSettings>(storeScope); //save settings cashOnDeliveryPaymentSettings.DescriptionText = model.DescriptionText; cashOnDeliveryPaymentSettings.AdditionalFee = model.AdditionalFee; cashOnDeliveryPaymentSettings.AdditionalFeePercentage = model.AdditionalFeePercentage; /* 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.DescriptionText_OverrideForStore || storeScope == 0) _settingService.SaveSetting(cashOnDeliveryPaymentSettings, x => x.DescriptionText, storeScope, false); else if (storeScope > 0) _settingService.DeleteSetting(cashOnDeliveryPaymentSettings, x => x.DescriptionText, storeScope); if (model.AdditionalFee_OverrideForStore || storeScope == 0) _settingService.SaveSetting(cashOnDeliveryPaymentSettings, x => x.AdditionalFee, storeScope, false); else if (storeScope > 0) _settingService.DeleteSetting(cashOnDeliveryPaymentSettings, x => x.AdditionalFee, storeScope); if (model.AdditionalFeePercentage_OverrideForStore || storeScope == 0) _settingService.SaveSetting(cashOnDeliveryPaymentSettings, x => x.AdditionalFeePercentage, storeScope, false); else if (storeScope > 0) _settingService.DeleteSetting(cashOnDeliveryPaymentSettings, x => x.AdditionalFeePercentage, storeScope); //now clear settings cache _settingService.ClearCache(); return Configure(); }