public ActionResult Configure()
        {
            var model = new ConfigurationModel();
            model.AdditionalFee = _sagePayServerPaymentSettings.AdditionalFee;
            model.ConnectTo = _sagePayServerPaymentSettings.ConnectTo;

            model.PartnerID = _sagePayServerPaymentSettings.PartnerID;
            model.TransactType = _sagePayServerPaymentSettings.TransactType;
            model.VendorDescription = _sagePayServerPaymentSettings.VendorDescription;
            model.VendorName = _sagePayServerPaymentSettings.VendorName;
            model.NotificationFullyQualifiedDomainName = _sagePayServerPaymentSettings.NotificationFullyQualifiedDomainName;
            model.ReturnFullyQualifiedDomainName = _sagePayServerPaymentSettings.ReturnFullyQualifiedDomainName;
            model.Profile = _sagePayServerPaymentSettings.Profile;

            model.ConnectToList.Add(new SelectListItem() { Text = SagePayServerPaymentSettings.ConnectToValues.SIMULATOR });
            model.ConnectToList.Add(new SelectListItem() { Text = SagePayServerPaymentSettings.ConnectToValues.TEST });
            model.ConnectToList.Add(new SelectListItem() { Text = SagePayServerPaymentSettings.ConnectToValues.LIVE });
            model.TransactTypeList.Add(new SelectListItem() { Text = SagePayServerPaymentSettings.TransactTypeValues.PAYMENT });
            model.TransactTypeList.Add(new SelectListItem() { Text = SagePayServerPaymentSettings.TransactTypeValues.DEFERRED });
            model.TransactTypeList.Add(new SelectListItem() { Text = SagePayServerPaymentSettings.TransactTypeValues.AUTHENTICATE });
            model.ProfileList.Add(new SelectListItem() { Text = SagePayServerPaymentSettings.ProfileValues.NORMAL });
            model.ProfileList.Add(new SelectListItem() { Text = SagePayServerPaymentSettings.ProfileValues.LOW });

            return View("Nop.Plugin.Payments.SagePayServer.Views.PaymentSagePayServer.Configure", model);
        }
        public ActionResult Configure(ConfigurationModel model)
        {
            if (!ModelState.IsValid)
                return Configure();

            //save settings
            _sagePayServerPaymentSettings.AdditionalFee = model.AdditionalFee;
            _sagePayServerPaymentSettings.ConnectTo = model.ConnectTo;
            _sagePayServerPaymentSettings.PartnerID = model.PartnerID;
            _sagePayServerPaymentSettings.TransactType = model.TransactType;
            _sagePayServerPaymentSettings.VendorDescription = model.VendorDescription;
            _sagePayServerPaymentSettings.VendorName = model.VendorName;
            _sagePayServerPaymentSettings.NotificationFullyQualifiedDomainName = model.NotificationFullyQualifiedDomainName;
            _sagePayServerPaymentSettings.ReturnFullyQualifiedDomainName = model.ReturnFullyQualifiedDomainName;
            _sagePayServerPaymentSettings.Profile = model.Profile;
            _settingService.SaveSetting(_sagePayServerPaymentSettings);


            model.ConnectToList.Add(new SelectListItem() { Text = SagePayServerPaymentSettings.ConnectToValues.SIMULATOR });
            model.ConnectToList.Add(new SelectListItem() { Text = SagePayServerPaymentSettings.ConnectToValues.TEST });
            model.ConnectToList.Add(new SelectListItem() { Text = SagePayServerPaymentSettings.ConnectToValues.LIVE });
            model.TransactTypeList.Add(new SelectListItem() { Text = SagePayServerPaymentSettings.TransactTypeValues.PAYMENT });
            model.TransactTypeList.Add(new SelectListItem() { Text = SagePayServerPaymentSettings.TransactTypeValues.DEFERRED });
            model.TransactTypeList.Add(new SelectListItem() { Text = SagePayServerPaymentSettings.TransactTypeValues.AUTHENTICATE });
            model.ProfileList.Add(new SelectListItem() { Text = SagePayServerPaymentSettings.ProfileValues.NORMAL });
            model.ProfileList.Add(new SelectListItem() { Text = SagePayServerPaymentSettings.ProfileValues.LOW });

            return View("Nop.Plugin.Payments.SagePayServer.Views.PaymentSagePayServer.Configure", model);
        }