public ActionResult Configure(UPSShippingModel model) { if (!ModelState.IsValid) { return(Configure()); } //save settings _upsSettings.Url = model.Url; _upsSettings.AccessKey = model.AccessKey; _upsSettings.Username = model.Username; _upsSettings.Password = model.Password; _upsSettings.AdditionalHandlingCharge = model.AdditionalHandlingCharge; _upsSettings.InsurePackage = model.InsurePackage; _upsSettings.CustomerClassification = (UPSCustomerClassification)Enum.Parse(typeof(UPSCustomerClassification), model.CustomerClassification); _upsSettings.PickupType = (UPSPickupType)Enum.Parse(typeof(UPSPickupType), model.PickupType); _upsSettings.PackagingType = (UPSPackagingType)Enum.Parse(typeof(UPSPackagingType), model.PackagingType); _upsSettings.PackingPackageVolume = model.PackingPackageVolume; _upsSettings.PackingType = (PackingType)model.PackingType; _upsSettings.PassDimensions = model.PassDimensions; _upsSettings.Tracing = model.Tracing; // Save selected services var carrierServicesOfferedDomestic = new StringBuilder(); int carrierServicesDomesticSelectedCount = 0; if (model.CheckedCarrierServices != null) { foreach (var cs in model.CheckedCarrierServices) { carrierServicesDomesticSelectedCount++; string serviceId = UPSServices.GetServiceId(cs); if (!String.IsNullOrEmpty(serviceId)) { // Add delimiters [] so that single digit IDs aren't found in multi-digit IDs carrierServicesOfferedDomestic.AppendFormat("[{0}]:", serviceId); } } } // Add default options if no services were selected if (carrierServicesDomesticSelectedCount == 0) { _upsSettings.CarrierServicesOffered = "[03]:[12]:[11]:[08]:"; } else { _upsSettings.CarrierServicesOffered = carrierServicesOfferedDomestic.ToString(); } _settingService.SaveSetting(_upsSettings); SuccessNotification(_localizationService.GetResource("Admin.Plugins.Saved")); return(Configure()); }
public ActionResult Configure(UPSShippingModel model) { if (!ModelState.IsValid) { return(Configure()); } //save settings _upsSettings.Url = model.Url; _upsSettings.AccessKey = model.AccessKey; _upsSettings.Username = model.Username; _upsSettings.Password = model.Password; _upsSettings.AdditionalHandlingCharge = model.AdditionalHandlingCharge; _upsSettings.InsurePackage = model.InsurePackage; _upsSettings.CustomerClassification = (UPSCustomerClassification)Enum.Parse(typeof(UPSCustomerClassification), model.CustomerClassification); _upsSettings.PickupType = (UPSPickupType)Enum.Parse(typeof(UPSPickupType), model.PickupType); _upsSettings.PackagingType = (UPSPackagingType)Enum.Parse(typeof(UPSPackagingType), model.PackagingType); _upsSettings.DefaultShippedFromCountryId = model.DefaultShippedFromCountryId; _upsSettings.DefaultShippedFromZipPostalCode = model.DefaultShippedFromZipPostalCode; // Save selected services var carrierServicesOfferedDomestic = new StringBuilder(); int carrierServicesDomesticSelectedCount = 0; if (model.CheckedCarrierServices != null) { foreach (var cs in model.CheckedCarrierServices) { carrierServicesDomesticSelectedCount++; string serviceId = UPSServices.GetServiceId(cs); if (!String.IsNullOrEmpty(serviceId)) { // Add delimiters [] so that single digit IDs aren't found in multi-digit IDs carrierServicesOfferedDomestic.AppendFormat("[{0}]:", serviceId); } } } // Add default options if no services were selected (Priority Mail International, First-Class Mail International Package, and Express Mail International) if (carrierServicesDomesticSelectedCount == 0) { _upsSettings.CarrierServicesOffered = "[03]:[12]:[11]:[08]:"; } else { _upsSettings.CarrierServicesOffered = carrierServicesOfferedDomestic.ToString(); } _settingService.SaveSetting(_upsSettings); return(Configure()); }
public IActionResult Configure(UPSShippingModel model) { //whether user has the authority to manage configuration if (!_permissionService.Authorize(StandardPermissionProvider.ManageShippingSettings)) { return(AccessDeniedView()); } if (!ModelState.IsValid) { return(Configure()); } //save settings _upsSettings.AccountNumber = model.AccountNumber; _upsSettings.AccessKey = model.AccessKey; _upsSettings.Username = model.Username; _upsSettings.Password = model.Password; _upsSettings.UseSandbox = model.UseSandbox; _upsSettings.AdditionalHandlingCharge = model.AdditionalHandlingCharge; _upsSettings.CustomerClassification = (CustomerClassification)model.CustomerClassification; _upsSettings.PickupType = (PickupType)model.PickupType; _upsSettings.PackagingType = (PackagingType)model.PackagingType; _upsSettings.InsurePackage = model.InsurePackage; _upsSettings.SaturdayDeliveryEnabled = model.SaturdayDeliveryEnabled; _upsSettings.PassDimensions = model.PassDimensions; _upsSettings.PackingPackageVolume = model.PackingPackageVolume; _upsSettings.PackingType = (PackingType)model.PackingType; _upsSettings.Tracing = model.Tracing; _upsSettings.WeightType = model.WeightType; _upsSettings.DimensionsType = model.DimensionsType; //use default services if no one is selected if (!model.CarrierServices.Any()) { model.CarrierServices = new List <string> { _upsService.GetUpsCode(DeliveryService.Ground), _upsService.GetUpsCode(DeliveryService.WorldwideExpedited), _upsService.GetUpsCode(DeliveryService.Standard), _upsService.GetUpsCode(DeliveryService._3DaySelect) }; } _upsSettings.CarrierServicesOffered = string.Join(':', model.CarrierServices.Select(service => $"[{service}]")); _settingService.SaveSetting(_upsSettings); _notificationService.SuccessNotification(_localizationService.GetResource("Admin.Plugins.Saved")); return(Configure()); }
public IActionResult Configure() { //whether user has the authority to manage configuration if (!_permissionService.Authorize(StandardPermissionProvider.ManageShippingSettings)) { return(AccessDeniedView()); } //prepare common model var model = new UPSShippingModel { AccountNumber = _upsSettings.AccountNumber, AccessKey = _upsSettings.AccessKey, Username = _upsSettings.Username, Password = _upsSettings.Password, UseSandbox = _upsSettings.UseSandbox, AdditionalHandlingCharge = _upsSettings.AdditionalHandlingCharge, InsurePackage = _upsSettings.InsurePackage, CustomerClassification = (int)_upsSettings.CustomerClassification, PickupType = (int)_upsSettings.PickupType, PackagingType = (int)_upsSettings.PackagingType, SaturdayDeliveryEnabled = _upsSettings.SaturdayDeliveryEnabled, PassDimensions = _upsSettings.PassDimensions, PackingPackageVolume = _upsSettings.PackingPackageVolume, PackingType = (int)_upsSettings.PackingType, Tracing = _upsSettings.Tracing }; //prepare offered delivery services var servicesCodes = _upsSettings.CarrierServicesOffered.Split(':', StringSplitOptions.RemoveEmptyEntries) .Select(idValue => idValue.Trim('[', ']')).ToList(); //prepare available options model.AvailableCustomerClassifications = CustomerClassification.DailyRates.ToSelectList(false) .Select(item => new SelectListItem(item.Text, item.Value)).ToList(); model.AvailablePickupTypes = PickupType.DailyPickup.ToSelectList(false) .Select(item => new SelectListItem(item.Text, item.Value)).ToList(); model.AvailablePackagingTypes = PackagingType.CustomerSuppliedPackage.ToSelectList(false) .Select(item => new SelectListItem(item.Text?.TrimStart('_'), item.Value)).ToList(); model.AvaliablePackingTypes = PackingType.PackByDimensions.ToSelectList(false) .Select(item => new SelectListItem(item.Text, item.Value)).ToList(); model.AvailableCarrierServices = DeliveryService.Standard.ToSelectList(false).Select(item => { var serviceCode = _upsService.GetUpsCode((DeliveryService)int.Parse(item.Value)); return(new SelectListItem($"UPS {item.Text?.TrimStart('_')}", serviceCode, servicesCodes.Contains(serviceCode))); }).ToList(); return(View("~/Plugins/Shipping.UPS/Views/Configure.cshtml", model)); }
public ActionResult Configure() { var model = new UPSShippingModel(); model.Url = _upsSettings.Url; model.AccessKey = _upsSettings.AccessKey; model.Username = _upsSettings.Username; model.Password = _upsSettings.Password; model.AdditionalHandlingCharge = _upsSettings.AdditionalHandlingCharge; model.InsurePackage = _upsSettings.InsurePackage; foreach (UPSCustomerClassification customerClassification in Enum.GetValues(typeof(UPSCustomerClassification))) { model.AvailableCustomerClassifications.Add(new SelectListItem() { Text = CommonHelper.ConvertEnum(customerClassification.ToString()), Value = customerClassification.ToString(), Selected = customerClassification == _upsSettings.CustomerClassification }); } foreach (UPSPickupType pickupType in Enum.GetValues(typeof(UPSPickupType))) { model.AvailablePickupTypes.Add(new SelectListItem() { Text = CommonHelper.ConvertEnum(pickupType.ToString()), Value = pickupType.ToString(), Selected = pickupType == _upsSettings.PickupType }); } foreach (UPSPackagingType packagingType in Enum.GetValues(typeof(UPSPackagingType))) { model.AvailablePackagingTypes.Add(new SelectListItem() { Text = CommonHelper.ConvertEnum(packagingType.ToString()), Value = packagingType.ToString(), Selected = packagingType == _upsSettings.PackagingType }); } var services = new UPSServices(); // Load Domestic service names string carrierServicesOfferedDomestic = _upsSettings.CarrierServicesOffered; foreach (string service in services.Services) { model.AvailableCarrierServices.Add(service); } if (!String.IsNullOrEmpty(carrierServicesOfferedDomestic)) { foreach (string service in services.Services) { string serviceId = UPSServices.GetServiceId(service); if (!String.IsNullOrEmpty(serviceId) && !String.IsNullOrEmpty(carrierServicesOfferedDomestic)) { // Add delimiters [] so that single digit IDs aren't found in multi-digit IDs if (carrierServicesOfferedDomestic.Contains(String.Format("[{0}]", serviceId))) { model.CarrierServicesOffered.Add(service); } } } } return(View("Nop.Plugin.Shipping.UPS.Views.ShippingUPS.Configure", model)); }
public IActionResult Configure() { if (!_permissionService.Authorize(StandardPermissionProvider.ManageShippingSettings)) { return(AccessDeniedView()); } var model = new UPSShippingModel { Url = _upsSettings.Url, AccountNumber = _upsSettings.AccountNumber, AccessKey = _upsSettings.AccessKey, Username = _upsSettings.Username, Password = _upsSettings.Password, AdditionalHandlingCharge = _upsSettings.AdditionalHandlingCharge, InsurePackage = _upsSettings.InsurePackage, PackingPackageVolume = _upsSettings.PackingPackageVolume, PackingType = (int)_upsSettings.PackingType, PackingTypeValues = _upsSettings.PackingType.ToSelectList(), PassDimensions = _upsSettings.PassDimensions }; foreach (UPSCustomerClassification customerClassification in Enum.GetValues(typeof(UPSCustomerClassification))) { model.AvailableCustomerClassifications.Add(new SelectListItem { Text = CommonHelper.ConvertEnum(customerClassification.ToString()), Value = customerClassification.ToString(), Selected = customerClassification == _upsSettings.CustomerClassification }); } foreach (UPSPickupType pickupType in Enum.GetValues(typeof(UPSPickupType))) { model.AvailablePickupTypes.Add(new SelectListItem { Text = CommonHelper.ConvertEnum(pickupType.ToString()), Value = pickupType.ToString(), Selected = pickupType == _upsSettings.PickupType }); } foreach (UPSPackagingType packagingType in Enum.GetValues(typeof(UPSPackagingType))) { model.AvailablePackagingTypes.Add(new SelectListItem { Text = CommonHelper.ConvertEnum(packagingType.ToString()), Value = packagingType.ToString(), Selected = packagingType == _upsSettings.PackagingType }); } // Load Domestic service names var carrierServicesOfferedDomestic = _upsSettings.CarrierServicesOffered; foreach (var service in UPSServices.Services) { model.AvailableCarrierServices.Add(service); } if (!string.IsNullOrEmpty(carrierServicesOfferedDomestic)) { foreach (var service in UPSServices.Services) { var serviceId = UPSServices.GetServiceId(service); if (!string.IsNullOrEmpty(serviceId)) { // Add delimiters [] so that single digit IDs aren't found in multi-digit IDs if (carrierServicesOfferedDomestic.Contains($"[{serviceId}]")) { model.CarrierServicesOffered.Add(service); } } } } return(View("~/Plugins/Shipping.UPS/Views/Configure.cshtml", model)); }
public IActionResult Configure() { //whether user has the authority to manage configuration if (!_permissionService.Authorize(StandardPermissionProvider.ManageShippingSettings)) { return(AccessDeniedView()); } //prepare common model var model = new UPSShippingModel { AccountNumber = _upsSettings.AccountNumber, AccessKey = _upsSettings.AccessKey, Username = _upsSettings.Username, Password = _upsSettings.Password, UseSandbox = _upsSettings.UseSandbox, AdditionalHandlingCharge = _upsSettings.AdditionalHandlingCharge, InsurePackage = _upsSettings.InsurePackage, CustomerClassification = (int)_upsSettings.CustomerClassification, PickupType = (int)_upsSettings.PickupType, PackagingType = (int)_upsSettings.PackagingType, SaturdayDeliveryEnabled = _upsSettings.SaturdayDeliveryEnabled, PassDimensions = _upsSettings.PassDimensions, PackingPackageVolume = _upsSettings.PackingPackageVolume, PackingType = (int)_upsSettings.PackingType, Tracing = _upsSettings.Tracing, WeightType = _upsSettings.WeightType, DimensionsType = _upsSettings.DimensionsType }; //prepare offered delivery services var servicesCodes = _upsSettings.CarrierServicesOffered.Split(':', StringSplitOptions.RemoveEmptyEntries) .Select(idValue => idValue.Trim('[', ']')).ToList(); //prepare available options model.AvailableCustomerClassifications = CustomerClassification.DailyRates.ToSelectList(false) .Select(item => new SelectListItem(item.Text, item.Value)).ToList(); model.AvailablePickupTypes = PickupType.DailyPickup.ToSelectList(false) .Select(item => new SelectListItem(item.Text, item.Value)).ToList(); model.AvailablePackagingTypes = PackagingType.CustomerSuppliedPackage.ToSelectList(false) .Select(item => new SelectListItem(item.Text?.TrimStart('_'), item.Value)).ToList(); model.AvaliablePackingTypes = PackingType.PackByDimensions.ToSelectList(false) .Select(item => new SelectListItem(item.Text, item.Value)).ToList(); model.AvailableCarrierServices = DeliveryService.Standard.ToSelectList(false).Select(item => { var serviceCode = _upsService.GetUpsCode((DeliveryService)int.Parse(item.Value)); return(new SelectListItem($"UPS {item.Text?.TrimStart('_')}", serviceCode, servicesCodes.Contains(serviceCode))); }).ToList(); model.AvaliableWeightTypes = new List <SelectListItem> { new SelectListItem("LBS", "LBS"), new SelectListItem("KGS", "KGS") }; model.AvaliableDimensionsTypes = new List <SelectListItem> { new SelectListItem("IN", "IN"), new SelectListItem("CM", "CM") }; //check measures var weightSystemName = _upsSettings.WeightType switch { "LBS" => "lb", "KGS" => "kg", _ => null }; if (_measureService.GetMeasureWeightBySystemKeyword(weightSystemName) == null) { _notificationService.ErrorNotification($"Could not load '{weightSystemName}' <a href=\"{Url.Action("List", "Measure")}\" target=\"_blank\">measure weight</a>", false); } var dimensionSystemName = _upsSettings.DimensionsType switch { "IN" => "inches", "CM" => "centimeters", _ => null }; if (_measureService.GetMeasureDimensionBySystemKeyword(dimensionSystemName) == null) { _notificationService.ErrorNotification($"Could not load '{dimensionSystemName}' <a href=\"{Url.Action("List", "Measure")}\" target=\"_blank\">measure dimension</a>", false); } return(View("~/Plugins/Shipping.UPS/Views/Configure.cshtml", model)); }