public ActionResult Configure(ConfigurationModel model, FormCollection form) { if (!ModelState.IsValid) return Configure(); ModelState.Clear(); var storeDependingSettingHelper = new StoreDependingSettingHelper(ViewData); int storeScope = this.GetActiveStoreScopeConfiguration(_storeService, _services.WorkContext); var settings = _services.Settings.LoadSetting<AmazonPaySettings>(storeScope); model.Copy(settings, false); storeDependingSettingHelper.UpdateSettings(settings, form, storeScope, _services.Settings); _services.Settings.SaveSetting(settings, x => x.DataFetching, 0, false); _services.Settings.SaveSetting(settings, x => x.PollingMaxOrderCreationDays, 0, false); _apiService.DataPollingTaskUpdate(settings.DataFetching == AmazonPayDataFetchingType.Polling, model.PollingTaskMinutes * 60); _services.Settings.ClearCache(); NotifySuccess(_services.Localization.GetResource("Plugins.Payments.AmazonPay.ConfigSaveNote")); return Configure(); }
public ActionResult Configure() { var model = new ConfigurationModel(); int storeScope = this.GetActiveStoreScopeConfiguration(_storeService, _services.WorkContext); var settings = _services.Settings.LoadSetting<AmazonPaySettings>(storeScope); model.Copy(settings, true); _apiService.SetupConfiguration(model); var storeDependingSettingHelper = new StoreDependingSettingHelper(ViewData); storeDependingSettingHelper.GetOverrideKeys(settings, model, storeScope, _services.Settings); return View(model); }
public void SetupConfiguration(ConfigurationModel model) { model.DataFetchings = new List<SelectListItem>() { new SelectListItem { Text = T("Common.Unspecified").Text, Value = "" }, new SelectListItem { Selected = (model.DataFetching == AmazonPayDataFetchingType.Ipn), Text = T("Plugins.Payments.AmazonPay.DataFetching.Ipn"), Value = ((int)AmazonPayDataFetchingType.Ipn).ToString() }, new SelectListItem { Selected = (model.DataFetching == AmazonPayDataFetchingType.Polling), Text = T("Plugins.Payments.AmazonPay.DataFetching.Polling"), Value = ((int)AmazonPayDataFetchingType.Polling).ToString() } }; model.TransactionTypes = new List<SelectListItem>() { new SelectListItem { Selected = (model.TransactionType == AmazonPayTransactionType.AuthorizeAndCapture), Text = T("Plugins.Payments.AmazonPay.TransactionType.AuthAndCapture"), Value = ((int)AmazonPayTransactionType.AuthorizeAndCapture).ToString() }, new SelectListItem { Selected = (model.TransactionType == AmazonPayTransactionType.Authorize), Text = T("Plugins.Payments.AmazonPay.TransactionType.Auth"), Value = ((int)AmazonPayTransactionType.Authorize).ToString() } }; model.SaveEmailAndPhones = new List<SelectListItem>() { new SelectListItem { Text = T("Common.Unspecified").Text, Value = "" }, new SelectListItem { Selected = (model.SaveEmailAndPhone == AmazonPaySaveDataType.OnlyIfEmpty), Text = T("Plugins.Payments.AmazonPay.AmazonPaySaveDataType.OnlyIfEmpty"), Value = ((int)AmazonPaySaveDataType.OnlyIfEmpty).ToString() }, new SelectListItem { Selected = (model.SaveEmailAndPhone == AmazonPaySaveDataType.Always), Text = T("Plugins.Payments.AmazonPay.AmazonPaySaveDataType.Always"), Value = ((int)AmazonPaySaveDataType.Always).ToString() } }; model.IpnUrl = GetPluginUrl("IPNHandler", _services.StoreContext.CurrentStore.SslEnabled); model.ConfigGroups = T("Plugins.Payments.AmazonPay.ConfigGroups").Text.SplitSafe(";"); var task = _scheduleTaskService.GetTaskByType(AmazonPayCore.DataPollingTaskType); if (task == null) model.PollingTaskMinutes = 30; else model.PollingTaskMinutes = (task.Seconds / 60); }