private void AddUpsServiceAccessToken(UPSRateService.UPSSecurity upss)
 {
     var upssSvcAccessToken = new UPSRateService.UPSSecurityServiceAccessToken();
     upssSvcAccessToken.AccessLicenseNumber = AccessLicenseNumber;
     upss.ServiceAccessToken = upssSvcAccessToken;
 }
 private void AddUserNameToken(UPSRateService.UPSSecurity upss)
 {
     var upssUsrNameToken = new UPSRateService.UPSSecurityUsernameToken();
     upssUsrNameToken.Username = UserName;
     upssUsrNameToken.Password = Pasword;
     upss.UsernameToken = upssUsrNameToken;
 }
 private void AddShipperAddress(UPSRateService.ShipperType shipper)
 {
     var shipperAddress = new UPSRateService.AddressType();
     shipperAddress.AddressLine = new String[] { ShipperAddressLine };
     shipperAddress.City = ShipperCity;
     shipperAddress.PostalCode = ShipperPostalCode;
     shipperAddress.StateProvinceCode = ShipperStateProvinceCode;
     shipperAddress.CountryCode = ShipperCountryCode;
     shipper.Address = shipperAddress;
 }
 private void AddShipToAddress(UPSRateService.ShipmentType shipment, bool isResidentialAddress)
 {
     var shipTo = new UPSRateService.ShipToType();
     var shipToAddress = new UPSRateService.ShipToAddressType();
     if (!string.IsNullOrEmpty(ShipToAddressLine))
         shipToAddress.AddressLine = new String[] { ShipToAddressLine };
     if (!string.IsNullOrEmpty(ShipToCity))
         shipToAddress.City = ShipToCity;
     if (!string.IsNullOrEmpty(ShipToPostalCode))
         shipToAddress.PostalCode = ShipToPostalCode;
     if (!string.IsNullOrEmpty(ShipToStateProvinceCode))
         shipToAddress.StateProvinceCode = ShipToStateProvinceCode;
     if (!string.IsNullOrEmpty(ShipToCountryCode))
         shipToAddress.CountryCode = ShipToCountryCode;
     if (isResidentialAddress)
         shipToAddress.ResidentialAddressIndicator = "true";
     shipTo.Address = shipToAddress;
     shipment.ShipTo = shipTo;
 }
 private void AddShipper(UPSRateService.ShipmentType shipment)
 {
     var shipper = new UPSRateService.ShipperType();
     shipper.ShipperNumber = ShipperNumber;
     AddShipperAddress(shipper);
     shipment.Shipper = shipper;
 }
 private void AddShipFromAddress(UPSRateService.ShipmentType shipment)
 {
     var shipFrom = new UPSRateService.ShipFromType();
     var shipFromAddress = new UPSRateService.AddressType();
     if (!string.IsNullOrEmpty(ShipFromAddressLine))
         shipFromAddress.AddressLine = new String[] { ShipFromAddressLine };
     if (!string.IsNullOrEmpty(ShipFromCity))
         shipFromAddress.City = ShipFromCity;
     if (!string.IsNullOrEmpty(ShipFromPostalCode))
         shipFromAddress.PostalCode = ShipFromPostalCode;
     if (!string.IsNullOrEmpty(ShipFromStateProvinceCode))
         shipFromAddress.StateProvinceCode = ShipFromStateProvinceCode;
     if (!string.IsNullOrEmpty(ShipFromCountryCode))
         shipFromAddress.CountryCode = ShipFromCountryCode;
     shipFrom.Address = shipFromAddress;
     shipment.ShipFrom = shipFrom;
 }
        private void AddPartialPackage(int nrBoxes, string partialBoxWeight, int valuePerPartialBox, inv_detl details, string packagingTypeCode, string currencyCode, UPSRateService.PackageType[] pkgArray)
        {
            var package = new UPSRateService.PackageType();
            var packageWeight = new UPSRateService.PackageWeightType();
            packageWeight.Weight = partialBoxWeight;
            var uom = new UPSRateService.CodeDescriptionType();
            uom.Code = "LBS";
            uom.Description = "pounds";
            packageWeight.UnitOfMeasurement = uom;
            package.PackageWeight = packageWeight;

            var packageDimensions = new UPSRateService.DimensionsType();
            //packageDimensions.Height = ((int)details.CASE_HI.Value).ToString();
            //packageDimensions.Length = ((int)details.CASE_LEN.Value).ToString();
            //packageDimensions.Width = ((int)details.CASE_WT.Value).ToString();

            packageDimensions.Height = "0";
            packageDimensions.Length = "0";
            packageDimensions.Width = "0";

            var packDimType = new UPSRateService.CodeDescriptionType();
            packDimType.Code = "IN";
            packDimType.Description = "Inches";
            packageDimensions.UnitOfMeasurement = packDimType;
            package.Dimensions = packageDimensions;

            var packageServiceOptions = new UPSRateService.PackageServiceOptionsType();
            var insuredValue = new UPSRateService.InsuredValueType();
            insuredValue.CurrencyCode = currencyCode;
            insuredValue.MonetaryValue = valuePerPartialBox.ToString();
            packageServiceOptions.DeclaredValue = insuredValue;
            package.PackageServiceOptions = packageServiceOptions;

            var packType = new UPSRateService.CodeDescriptionType();
            packType.Code = packagingTypeCode;
            package.PackagingType = packType;
            pkgArray[nrBoxes - 1] = package;
        }
        private void AddPackageArray(int nrBoxes, int itemsInLastBox, string fullBoxWeight, string partialBoxWeight, int valuePerFullBox, int valuePerPartialBox, inv_detl details, string packagingTypeCode, string currencyCode, UPSRateService.ShipmentType shipment)
        {
            UPSRateService.PackageType[] pkgArray;
            //if (itemsInLastBox > 0)
            //    pkgArray = new UPSRateService.PackageType[nrBoxes];
            //else
            pkgArray = new UPSRateService.PackageType[nrBoxes];

            int tempItemCount = nrBoxes;
            if (itemsInLastBox > 0)
                tempItemCount = tempItemCount - 1;
            for (int i = 0; i < tempItemCount; i++)
            {
                AddFullPackage(fullBoxWeight, valuePerFullBox, details, packagingTypeCode, currencyCode, pkgArray, i);
            }
            if (itemsInLastBox > 0 && !string.IsNullOrEmpty(partialBoxWeight))
                AddPartialPackage(nrBoxes, partialBoxWeight, valuePerPartialBox, details, packagingTypeCode, currencyCode, pkgArray);

            shipment.Package = pkgArray;
        }
 private void AddInvoiceTotalType(int Qty, decimal unitPrice, UPSRateService.ShipmentType shipment)
 {
     var invoiceType = new UPSRateService.InvoiceLineTotalType();
     invoiceType.CurrencyCode = "USD";
     int total = (int)(Qty * unitPrice);
     if (total % 100 > 0)
         total = total + (100 - total % 100);
     invoiceType.MonetaryValue = total.ToString();
     shipment.InvoiceLineTotal = invoiceType;
 }