public ActionResult Configure() { int activeStoreScopeConfiguration = this.GetActiveStoreScopeConfiguration(this._storeService, this._workContext); ZarinpalSettings zarinpalPaymentSettings = this._settingService.LoadSetting <ZarinpalSettings>(activeStoreScopeConfiguration); ConfigurationModel configurationModel = new ConfigurationModel { MerchantId = zarinpalPaymentSettings.MerchantId, PayementUrl = zarinpalPaymentSettings.PayementUrl, WebServiceUrl = zarinpalPaymentSettings.WebServiceUrl, IsTomanForStore = zarinpalPaymentSettings.IsToman, ActiveStoreScopeConfiguration = activeStoreScopeConfiguration, }; if (activeStoreScopeConfiguration > 0) { configurationModel.MerchantIdOverrideForStore = this._settingService.SettingExists <ZarinpalSettings, string>(zarinpalPaymentSettings, (ZarinpalSettings x) => x.MerchantId, activeStoreScopeConfiguration); configurationModel.PayementUrlOverrideForStore = this._settingService.SettingExists <ZarinpalSettings, string>(zarinpalPaymentSettings, (ZarinpalSettings x) => x.PayementUrl, activeStoreScopeConfiguration); configurationModel.WebServiceUrlOverrideForStore = this._settingService.SettingExists <ZarinpalSettings, string>(zarinpalPaymentSettings, (ZarinpalSettings x) => x.WebServiceUrl, activeStoreScopeConfiguration); configurationModel.IsTomanForStore = this._settingService.SettingExists <ZarinpalSettings, bool>(zarinpalPaymentSettings, (ZarinpalSettings x) => x.IsToman, activeStoreScopeConfiguration); } return(base.View("~/Plugins/NopFarsi.Payments.Zarinpal/Views/Configure.cshtml", configurationModel)); }
public ActionResult Configure(ConfigurationModel model) { if (!base.ModelState.IsValid) { return(this.Configure()); } int activeStoreScopeConfiguration = this.GetActiveStoreScopeConfiguration(this._storeService, this._workContext); ZarinpalSettings zarinpalPaymentSettings = this._settingService.LoadSetting <ZarinpalSettings>(activeStoreScopeConfiguration); zarinpalPaymentSettings.MerchantId = model.MerchantId; zarinpalPaymentSettings.PayementUrl = model.PayementUrl; zarinpalPaymentSettings.WebServiceUrl = model.WebServiceUrl; zarinpalPaymentSettings.IsToman = model.IsTomanForStore; this._settingService.SaveSettingOverridablePerStore <ZarinpalSettings, string>(zarinpalPaymentSettings, (ZarinpalSettings x) => x.MerchantId, model.MerchantIdOverrideForStore, activeStoreScopeConfiguration, false); this._settingService.SaveSettingOverridablePerStore <ZarinpalSettings, string>(zarinpalPaymentSettings, (ZarinpalSettings x) => x.PayementUrl, model.PayementUrlOverrideForStore, activeStoreScopeConfiguration, false); this._settingService.SaveSettingOverridablePerStore <ZarinpalSettings, string>(zarinpalPaymentSettings, (ZarinpalSettings x) => x.WebServiceUrl, model.WebServiceUrlOverrideForStore, activeStoreScopeConfiguration, false); this._settingService.SaveSettingOverridablePerStore <ZarinpalSettings, bool>(zarinpalPaymentSettings, (ZarinpalSettings x) => x.IsToman, model.IsTomanForStore, activeStoreScopeConfiguration, false); this._settingService.ClearCache(); this.SuccessNotification(this._localizationService.GetResource("Admin.Plugins.Saved"), true); return(this.Configure()); }