/// <summary> /// Create package details /// </summary> /// <param name="width">Width</param> /// <param name="length">Length</param> /// <param name="height">Height</param> /// <param name="weight">Weight</param> /// <param name="insuranceAmount">Insurance amount</param> /// <returns>Package details</returns> private UPSRate.PackageType CreatePackage(decimal width, decimal length, decimal height, decimal weight, decimal insuranceAmount) { //set package details var package = new UPSRate.PackageType { PackagingType = new UPSRate.CodeDescriptionType { Code = GetUpsCode(_upsSettings.PackagingType) } }; //set dimensions and weight details if (!_upsSettings.PassDimensions) { width = length = height = 0; } package.Dimensions = new UPSRate.DimensionsType { Width = width.ToString(), Length = length.ToString(), Height = height.ToString(), UnitOfMeasurement = new UPSRate.CodeDescriptionType { Code = INCHES_DIMENSION_CODE } }; package.PackageWeight = new UPSRate.PackageWeightType { Weight = weight.ToString(), UnitOfMeasurement = new UPSRate.CodeDescriptionType { Code = LBS_WEIGHT_CODE }, }; //set insurance details if (_upsSettings.InsurePackage && insuranceAmount > decimal.Zero) { var currencyCode = _currencyService.GetCurrencyById(_currencySettings.PrimaryStoreCurrencyId)?.CurrencyCode; package.PackageServiceOptions = new UPSRate.PackageServiceOptionsType { Insurance = new UPSRate.InsuranceType { BasicFlexibleParcelIndicator = new UPSRate.InsuranceValueType { CurrencyCode = currencyCode, MonetaryValue = insuranceAmount.ToString() } } }; } return(package); }
/// <summary> /// Create package details /// </summary> /// <param name="width">Width</param> /// <param name="length">Length</param> /// <param name="height">Height</param> /// <param name="weight">Weight</param> /// <param name="insuranceAmount">Insurance amount</param> /// <returns>Package details</returns> private async Task <UPSRate.PackageType> CreatePackageAsync(decimal width, decimal length, decimal height, decimal weight, decimal insuranceAmount) { //set package details var package = new UPSRate.PackageType { PackagingType = new UPSRate.CodeDescriptionType { Code = GetUpsCode(_upsSettings.PackagingType) } }; //set dimensions and weight details if (!_upsSettings.PassDimensions) { width = length = height = 0; } package.Dimensions = new UPSRate.DimensionsType { Width = width.ToString("0.00", CultureInfo.InvariantCulture), Length = length.ToString("0.00", CultureInfo.InvariantCulture), Height = height.ToString("0.00", CultureInfo.InvariantCulture), UnitOfMeasurement = new UPSRate.CodeDescriptionType { Code = _upsSettings.DimensionsType } }; package.PackageWeight = new UPSRate.PackageWeightType { Weight = weight.ToString("0.00", CultureInfo.InvariantCulture), UnitOfMeasurement = new UPSRate.CodeDescriptionType { Code = _upsSettings.WeightType }, }; //set insurance details if (_upsSettings.InsurePackage && insuranceAmount > decimal.Zero) { var currencyCode = (await _currencyService.GetCurrencyByIdAsync(_currencySettings.PrimaryStoreCurrencyId))?.CurrencyCode; package.PackageServiceOptions = new UPSRate.PackageServiceOptionsType { Insurance = new UPSRate.InsuranceType { BasicFlexibleParcelIndicator = new UPSRate.InsuranceValueType { CurrencyCode = currencyCode, MonetaryValue = insuranceAmount.ToString("0.00", CultureInfo.InvariantCulture) } } }; } return(package); }