public ActionResult Edit(string systemName) { if (!_services.Permissions.Authorize(StandardPermissionProvider.ManagePaymentMethods)) { return(AccessDeniedView()); } var provider = _paymentService.LoadPaymentMethodBySystemName(systemName); var paymentMethod = _paymentService.GetPaymentMethodBySystemName(systemName); var model = new PaymentMethodEditModel(); var providerModel = _pluginMediator.ToProviderModel <IPaymentMethod, ProviderModel>(provider, true); model.SystemName = providerModel.SystemName; model.IconUrl = providerModel.IconUrl; model.FriendlyName = providerModel.FriendlyName; model.Description = providerModel.Description; AddLocales(_languageService, model.Locales, (locale, languageId) => { locale.FriendlyName = _pluginMediator.GetLocalizedFriendlyName(provider.Metadata, languageId, false); locale.Description = _pluginMediator.GetLocalizedDescription(provider.Metadata, languageId, false); if (paymentMethod != null) { locale.FullDescription = paymentMethod.GetLocalized(x => x.FullDescription, languageId, false, false); } }); PreparePaymentMethodEditModel(model, paymentMethod); return(View(model)); }
public ActionResult Edit(string systemName, bool continueEditing, PaymentMethodEditModel model, FormCollection form) { if (!_services.Permissions.Authorize(StandardPermissionProvider.ManagePaymentMethods)) { return(AccessDeniedView()); } var provider = _paymentService.LoadPaymentMethodBySystemName(systemName); if (provider == null) { return(HttpNotFound()); } _pluginMediator.SetSetting(provider.Metadata, "FriendlyName", model.FriendlyName); _pluginMediator.SetSetting(provider.Metadata, "Description", model.Description); var paymentMethod = _paymentService.GetPaymentMethodBySystemName(systemName); if (paymentMethod == null) { paymentMethod = new PaymentMethod { PaymentMethodSystemName = systemName } } ; paymentMethod.FullDescription = model.FullDescription; paymentMethod.RoundOrderTotalEnabled = model.RoundOrderTotalEnabled; if (paymentMethod.Id == 0) { _paymentService.InsertPaymentMethod(paymentMethod); } else { _paymentService.UpdatePaymentMethod(paymentMethod); } foreach (var localized in model.Locales) { _pluginMediator.SaveLocalizedValue(provider.Metadata, localized.LanguageId, "FriendlyName", localized.FriendlyName); _pluginMediator.SaveLocalizedValue(provider.Metadata, localized.LanguageId, "Description", localized.Description); _localizedEntityService.SaveLocalizedValue(paymentMethod, x => x.FullDescription, localized.FullDescription, localized.LanguageId); } _services.EventPublisher.Publish(new ModelBoundEvent(model, paymentMethod, form)); NotifySuccess(T("Admin.Common.DataEditSuccess")); return(continueEditing ? RedirectToAction("Edit", "Payment", new { systemName = systemName }) : RedirectToAction("Providers", "Payment")); } #endregion }
public ActionResult Edit(string systemName, bool continueEditing, PaymentMethodEditModel model, FormCollection form) { var provider = _paymentService.LoadPaymentMethodBySystemName(systemName); if (provider == null) { return(HttpNotFound()); } _pluginMediator.SetSetting(provider.Metadata, "FriendlyName", model.FriendlyName); _pluginMediator.SetSetting(provider.Metadata, "Description", model.Description); var paymentMethod = _paymentService.GetPaymentMethodBySystemName(systemName); if (paymentMethod == null) { paymentMethod = new PaymentMethod { PaymentMethodSystemName = systemName }; } paymentMethod.FullDescription = model.FullDescription; paymentMethod.RoundOrderTotalEnabled = model.RoundOrderTotalEnabled; paymentMethod.LimitedToStores = model.LimitedToStores; if (paymentMethod.Id == 0) { // Update permission sufficient here. _paymentService.InsertPaymentMethod(paymentMethod); } else { _paymentService.UpdatePaymentMethod(paymentMethod); } SaveStoreMappings(paymentMethod, model.SelectedStoreIds); foreach (var localized in model.Locales) { _pluginMediator.SaveLocalizedValue(provider.Metadata, localized.LanguageId, "FriendlyName", localized.FriendlyName); _pluginMediator.SaveLocalizedValue(provider.Metadata, localized.LanguageId, "Description", localized.Description); _localizedEntityService.SaveLocalizedValue(paymentMethod, x => x.FullDescription, localized.FullDescription, localized.LanguageId); } Services.EventPublisher.Publish(new ModelBoundEvent(model, paymentMethod, form)); NotifySuccess(T("Admin.Common.DataEditSuccess")); return(continueEditing ? RedirectToAction("Edit", "Payment", new { systemName }) : RedirectToAction("Providers", "Payment")); }
private void PreparePaymentMethodEditModel(PaymentMethodEditModel model, PaymentMethod paymentMethod) { var allFilters = _paymentService.GetAllPaymentMethodFilters(); model.FilterConfigurationUrls = allFilters .Select(x => "'" + x.GetConfigurationUrl(model.SystemName) + "'") .OrderBy(x => x) .ToList(); if (paymentMethod != null) { model.Id = paymentMethod.Id; model.FullDescription = paymentMethod.FullDescription; } }
public ActionResult Edit(string systemName) { var provider = _paymentService.LoadPaymentMethodBySystemName(systemName); var paymentMethod = _paymentService.GetPaymentMethodBySystemName(systemName); var model = new PaymentMethodEditModel(); var providerModel = _pluginMediator.ToProviderModel <IPaymentMethod, ProviderModel>(provider, true); var pageTitle = providerModel.FriendlyName; model.SystemName = providerModel.SystemName; model.IconUrl = providerModel.IconUrl; model.FriendlyName = providerModel.FriendlyName; model.Description = providerModel.Description; model.SelectedStoreIds = _storeMappingService.GetStoresIdsWithAccess(paymentMethod); if (paymentMethod != null) { model.Id = paymentMethod.Id; model.FullDescription = paymentMethod.FullDescription; model.RoundOrderTotalEnabled = paymentMethod.RoundOrderTotalEnabled; model.LimitedToStores = paymentMethod.LimitedToStores; model.SelectedRuleSetIds = paymentMethod.RuleSets.Select(x => x.Id).ToArray(); } AddLocales(_languageService, model.Locales, (locale, languageId) => { locale.FriendlyName = _pluginMediator.GetLocalizedFriendlyName(provider.Metadata, languageId, false); locale.Description = _pluginMediator.GetLocalizedDescription(provider.Metadata, languageId, false); if (pageTitle.IsEmpty() && languageId == Services.WorkContext.WorkingLanguage.Id) { pageTitle = locale.FriendlyName; } if (paymentMethod != null) { locale.FullDescription = paymentMethod.GetLocalized(x => x.FullDescription, languageId, false, false); } }); ViewBag.Title = pageTitle; return(View(model)); }
private void PreparePaymentMethodEditModel(PaymentMethodEditModel model, PaymentMethod paymentMethod) { var allFilters = _paymentService.GetAllPaymentMethodFilters(); var configUrls = allFilters .Select(x => x.GetConfigurationUrl(model.SystemName)) .Where(x => x.HasValue()) .ToList(); model.FilterConfigurationUrls = configUrls .Select(x => string.Concat("'", x, "'")) .OrderBy(x => x) .ToList(); if (paymentMethod != null) { model.Id = paymentMethod.Id; model.FullDescription = paymentMethod.FullDescription; model.RoundOrderTotalEnabled = paymentMethod.RoundOrderTotalEnabled; model.LimitedToStores = paymentMethod.LimitedToStores; } model.SelectedStoreIds = _storeMappingService.GetStoresIdsWithAccess(paymentMethod); }
public ActionResult Edit(string systemName) { var provider = _paymentService.LoadPaymentMethodBySystemName(systemName); var paymentMethod = _paymentService.GetPaymentMethodBySystemName(systemName); var model = new PaymentMethodEditModel(); var providerModel = _pluginMediator.ToProviderModel <IPaymentMethod, ProviderModel>(provider, true); var pageTitle = providerModel.FriendlyName; model.SystemName = providerModel.SystemName; model.IconUrl = providerModel.IconUrl; model.FriendlyName = providerModel.FriendlyName; model.Description = providerModel.Description; AddLocales(_languageService, model.Locales, (locale, languageId) => { locale.FriendlyName = _pluginMediator.GetLocalizedFriendlyName(provider.Metadata, languageId, false); locale.Description = _pluginMediator.GetLocalizedDescription(provider.Metadata, languageId, false); if (pageTitle.IsEmpty() && languageId == Services.WorkContext.WorkingLanguage.Id) { pageTitle = locale.FriendlyName; } if (paymentMethod != null) { locale.FullDescription = paymentMethod.GetLocalized(x => x.FullDescription, languageId, false, false); } }); PreparePaymentMethodEditModel(model, paymentMethod); ViewBag.Title = pageTitle; return(View(model)); }
public ActionResult Edit(string systemName) { if (!_services.Permissions.Authorize(StandardPermissionProvider.ManagePaymentMethods)) return AccessDeniedView(); var provider = _paymentService.LoadPaymentMethodBySystemName(systemName); var paymentMethod = _paymentService.GetPaymentMethodBySystemName(systemName); var model = new PaymentMethodEditModel(); var providerModel = _pluginMediator.ToProviderModel<IPaymentMethod, ProviderModel>(provider, true); model.SystemName = providerModel.SystemName; model.IconUrl = providerModel.IconUrl; model.FriendlyName = providerModel.FriendlyName; model.Description = providerModel.Description; AddLocales(_languageService, model.Locales, (locale, languageId) => { locale.FriendlyName = _pluginMediator.GetLocalizedFriendlyName(provider.Metadata, languageId, false); locale.Description = _pluginMediator.GetLocalizedDescription(provider.Metadata, languageId, false); if (paymentMethod != null) { locale.FullDescription = paymentMethod.GetLocalized(x => x.FullDescription, languageId, false, false); } }); PreparePaymentMethodEditModel(model, paymentMethod); return View(model); }
private void PreparePaymentMethodEditModel(PaymentMethodEditModel model, PaymentMethod paymentMethod) { var customerRoles = _customerService.GetAllCustomerRoles(true); var shippingMethods = _shippingService.GetAllShippingMethods(); var countries = _countryService.GetAllCountries(true); model.AvailableCustomerRoles = new List<SelectListItem>(); model.AvailableShippingMethods = new List<SelectListItem>(); model.AvailableCountries = new List<SelectListItem>(); model.AvailableCountryExclusionContextTypes = CountryRestrictionContextType.BillingAddress.ToSelectList(false).ToList(); model.AvailableAmountRestrictionContextTypes = AmountRestrictionContextType.SubtotalAmount.ToSelectList(false).ToList(); foreach (var role in customerRoles.OrderBy(x => x.Name)) { model.AvailableCustomerRoles.Add(new SelectListItem { Text = role.Name, Value = role.Id.ToString() }); } foreach (var shippingMethod in shippingMethods.OrderBy(x => x.Name)) { model.AvailableShippingMethods.Add(new SelectListItem { Text = shippingMethod.GetLocalized(x => x.Name), Value = shippingMethod.Id.ToString() }); } foreach (var country in countries.OrderBy(x => x.Name)) { model.AvailableCountries.Add(new SelectListItem { Text = country.GetLocalized(x => x.Name), Value = country.Id.ToString() }); } if (paymentMethod != null) { model.ExcludedCustomerRoleIds = paymentMethod.ExcludedCustomerRoleIds.SplitSafe(","); model.ExcludedShippingMethodIds = paymentMethod.ExcludedShippingMethodIds.SplitSafe(","); model.ExcludedCountryIds = paymentMethod.ExcludedCountryIds.SplitSafe(","); model.MinimumOrderAmount = paymentMethod.MinimumOrderAmount; model.MaximumOrderAmount = paymentMethod.MaximumOrderAmount; model.CountryExclusionContext = paymentMethod.CountryExclusionContext; model.AmountRestrictionContext = paymentMethod.AmountRestrictionContext; model.FullDescription = paymentMethod.FullDescription; } }
public ActionResult Edit(string systemName, bool continueEditing, PaymentMethodEditModel model) { if (!_services.Permissions.Authorize(StandardPermissionProvider.ManagePaymentMethods)) return AccessDeniedView(); var provider = _paymentService.LoadPaymentMethodBySystemName(systemName); if (provider == null) return HttpNotFound(); _pluginMediator.SetSetting(provider.Metadata, "FriendlyName", model.FriendlyName); _pluginMediator.SetSetting(provider.Metadata, "Description", model.Description); var paymentMethod = _paymentService.GetPaymentMethodBySystemName(systemName); if (paymentMethod == null) paymentMethod = new PaymentMethod { PaymentMethodSystemName = systemName }; paymentMethod.ExcludedCustomerRoleIds = Request.Form["ExcludedCustomerRoleIds"]; paymentMethod.ExcludedShippingMethodIds = Request.Form["ExcludedShippingMethodIds"]; paymentMethod.ExcludedCountryIds = Request.Form["ExcludedCountryIds"]; paymentMethod.MinimumOrderAmount = model.MinimumOrderAmount; paymentMethod.MaximumOrderAmount = model.MaximumOrderAmount; paymentMethod.CountryExclusionContext = model.CountryExclusionContext; paymentMethod.AmountRestrictionContext = model.AmountRestrictionContext; paymentMethod.FullDescription = model.FullDescription; if (paymentMethod.Id == 0) _paymentService.InsertPaymentMethod(paymentMethod); else _paymentService.UpdatePaymentMethod(paymentMethod); foreach (var localized in model.Locales) { _pluginMediator.SaveLocalizedValue(provider.Metadata, localized.LanguageId, "FriendlyName", localized.FriendlyName); _pluginMediator.SaveLocalizedValue(provider.Metadata, localized.LanguageId, "Description", localized.Description); _localizedEntityService.SaveLocalizedValue(paymentMethod, x => x.FullDescription, localized.FullDescription, localized.LanguageId); } NotifySuccess(_services.Localization.GetResource("Admin.Common.DataEditSuccess")); return (continueEditing ? RedirectToAction("Edit", "Payment", new { systemName = systemName }) : RedirectToAction("Providers", "Payment")); }