public async Task <IActionResult> Configure(ConfigurationModel model)
        {
            if (!ModelState.IsValid)
            {
                return(await Configure());
            }

            //load settings for a chosen store scope
            var storeScope = await _storeContext.GetActiveStoreScopeConfigurationAsync();

            var paySynchronyPaymentSettings = SynchronyPaymentSettings.FromModel(model);

            /* 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 */
            await _settingService.SaveSettingOverridablePerStoreAsync(paySynchronyPaymentSettings, x => x.MerchantId, model.MerchantId_OverrideForStore, storeScope, false);

            await _settingService.SaveSettingOverridablePerStoreAsync(paySynchronyPaymentSettings, x => x.MerchantPassword, model.MerchantPassword_OverrideForStore, storeScope, false);

            await _settingService.SaveSettingOverridablePerStoreAsync(paySynchronyPaymentSettings, x => x.Integration, model.Integration_OverrideForStore, storeScope, false);

            await _settingService.SaveSettingOverridablePerStoreAsync(paySynchronyPaymentSettings, x => x.TokenNumber, model.TokenNumber_OverrideForStore, storeScope, false);

            await _settingService.SaveSettingOverridablePerStoreAsync(paySynchronyPaymentSettings, x => x.WhitelistDomain, model.WhitelistDomain_OverrideForStore, storeScope, false);

            await _settingService.SaveSettingOverridablePerStoreAsync(paySynchronyPaymentSettings, x => x.IsDebugMode, model.IsDebugMode_OverrideForStore, storeScope, false);

            //now clear settings cache
            await _settingService.ClearCacheAsync();

            _notificationService.SuccessNotification(await _localizationService.GetResourceAsync("Admin.Plugins.Saved"));

            return(await Configure());
        }
Пример #2
0
 public SynchronyViewComponent(
     ILogger logger,
     IStoreContext storeContext,
     IHttpContextAccessor httpContext,
     SynchronyPaymentSettings settings,
     IHttpContextAccessor httpContextAccessor
     )
 {
     _logger              = logger;
     _storeContext        = storeContext;
     _httpContext         = httpContext;
     _settings            = settings;
     _httpContextAccessor = httpContextAccessor;
 }
 public SynchronyPaymentController(
     IWorkContext workContext,
     IStoreService storeService,
     ISettingService settingService,
     IPaymentService paymentService,
     IOrderService orderService,
     IOrderProcessingService orderProcessingService,
     ILocalizationService localizationService,
     IStoreContext storeContext,
     ILogger logger,
     IWebHelper webHelper,
     PaymentSettings paymentSettings,
     SynchronyPaymentSettings synchronyPaymentSettings,
     OrderSettings orderSettings,
     ICurrencyService currencyService,
     IPriceFormatter priceFormatter,
     ITaxService taxService,
     IPriceCalculationService priceCalculationService,
     IProductAttributeFormatter productAttributeFormatter,
     IProductAttributeParser productAttributeParser,
     IStaticCacheManager staticCacheManager,
     INotificationService notificationService,
     IShoppingCartService shoppingCartService,
     IProductService productService,
     IShoppingCartModelFactory shoppingCartModelFactory,
     IAddressService addressService,
     IStateProvinceService stateProvinceService,
     ICustomerService customerService,
     ICheckoutModelFactory checkoutModelFactory,
     IPaymentPluginManager paymentPluginManager,
     IGiftCardService giftCardService,
     IIsamGiftCardService isamGiftCardService,
     IHttpClientFactory httpClientFactory
     )
 {
     _workContext            = workContext;
     _storeService           = storeService;
     _settingService         = settingService;
     _paymentService         = paymentService;
     _orderService           = orderService;
     _orderProcessingService = orderProcessingService;
     _localizationService    = localizationService;
     _storeContext           = storeContext;
     _logger                    = logger;
     _webHelper                 = webHelper;
     _paymentSettings           = paymentSettings;
     _synchronyPaymentSettings  = synchronyPaymentSettings;
     _orderSettings             = orderSettings;
     _currencyService           = currencyService;
     _priceFormatter            = priceFormatter;
     _taxService                = taxService;
     _priceCalculationService   = priceCalculationService;
     _productAttributeFormatter = productAttributeFormatter;
     _productAttributeParser    = productAttributeParser;
     _staticCacheManager        = staticCacheManager;
     _notificationService       = notificationService;
     _shoppingCartService       = shoppingCartService;
     _productService            = productService;
     _shoppingCartModelFactory  = shoppingCartModelFactory;
     _addressService            = addressService;
     _stateProvinceService      = stateProvinceService;
     _customerService           = customerService;
     _checkoutModelFactory      = checkoutModelFactory;
     _paymentPluginManager      = paymentPluginManager;
     _giftCardService           = giftCardService;
     _isamGiftCardService       = isamGiftCardService;
     _httpClientFactory         = httpClientFactory;
 }