Example #1
0
 private void SetRecipient(ProcessShipmentRequest request)
 {
     request.RequestedShipment.Recipient                     = new Party();
     request.RequestedShipment.Recipient.Contact             = new Contact();
     request.RequestedShipment.Recipient.Contact.PersonName  = _receiverBO.FirstName.Trim() + " " + _receiverBO.LastName.Trim(); // "Recipient Name";
     request.RequestedShipment.Recipient.Contact.CompanyName = "Recipient Company Name";
     request.RequestedShipment.Recipient.Contact.PhoneNumber = _receiverBO.Telephone.Trim();                                     // "9012637906";
     request.RequestedShipment.Recipient.Address             = new Address();
     request.RequestedShipment.Recipient.Address.StreetLines = new string[1] {
         _receiverBO.Address1.Trim()
     };
     request.RequestedShipment.Recipient.Address.City = _receiverBO.City.Trim();                 //"Windsor";
     request.RequestedShipment.Recipient.Address.StateOrProvinceCode = _receiverBO.State.Trim(); //"CT";
     request.RequestedShipment.Recipient.Address.PostalCode          = _receiverBO.Zip.Trim();   //"06006";
     request.RequestedShipment.Recipient.Address.CountryCode         = "US";
     request.RequestedShipment.Recipient.Address.Residential         = true;
     //request.RequestedShipment.Recipient = new Party();
     //request.RequestedShipment.Recipient.Contact = new Contact();
     //request.RequestedShipment.Recipient.Contact.PersonName = "Recipient Name";
     //request.RequestedShipment.Recipient.Contact.CompanyName = "Recipient Company Name";
     //request.RequestedShipment.Recipient.Contact.PhoneNumber = "9012637906";
     //request.RequestedShipment.Recipient.Address = new Address();
     //request.RequestedShipment.Recipient.Address.StreetLines = new string[1] { "Address Line 1" };
     //request.RequestedShipment.Recipient.Address.City = "Windsor";
     //request.RequestedShipment.Recipient.Address.StateOrProvinceCode = "CT";
     //request.RequestedShipment.Recipient.Address.PostalCode = "06006";
     //request.RequestedShipment.Recipient.Address.CountryCode = "US";
     //request.RequestedShipment.Recipient.Address.Residential = true;
 }
Example #2
0
        private void SetPackageLineItems(ProcessShipmentRequest request)
        {
            request.RequestedShipment.RequestedPackageLineItems = new RequestedPackageLineItem[1];


            if (Shipment.Packages.Count > 0)
            {
                Package pkg = Shipment.Packages[0];
                request.RequestedShipment.RequestedPackageLineItems[0] = new RequestedPackageLineItem();
                request.RequestedShipment.RequestedPackageLineItems[0].SequenceNumber = "1";

                // Package weight information
                request.RequestedShipment.RequestedPackageLineItems[0].Weight       = new Weight();
                request.RequestedShipment.RequestedPackageLineItems[0].Weight.Value = pkg.Weight;
                request.RequestedShipment.RequestedPackageLineItems[0].Weight.Units = pkg.ShipWeightUnit == WeightUnit.KG ? WeightUnits.KG : WeightUnits.LB;
                // package dimensions
                request.RequestedShipment.RequestedPackageLineItems[0].Dimensions        = new Dimensions();
                request.RequestedShipment.RequestedPackageLineItems[0].Dimensions.Length = pkg.Length.ToString();
                request.RequestedShipment.RequestedPackageLineItems[0].Dimensions.Width  = pkg.Width.ToString();
                request.RequestedShipment.RequestedPackageLineItems[0].Dimensions.Height = pkg.Height.ToString();
                request.RequestedShipment.RequestedPackageLineItems[0].Dimensions.Units  = pkg.ShipLinearUnit == LinearUnit.CM ? LinearUnits.CM : LinearUnits.IN;
                // insured value
                request.RequestedShipment.RequestedPackageLineItems[0].InsuredValue          = new Money();
                request.RequestedShipment.RequestedPackageLineItems[0].InsuredValue.Amount   = 0;
                request.RequestedShipment.RequestedPackageLineItems[0].InsuredValue.Currency = pkg.Currency;
                // Reference details
                request.RequestedShipment.RequestedPackageLineItems[0].CustomerReferences = new CustomerReference[1] {
                    new CustomerReference()
                };
                request.RequestedShipment.RequestedPackageLineItems[0].CustomerReferences[0].CustomerReferenceType = CustomerReferenceType.CUSTOMER_REFERENCE;
                request.RequestedShipment.RequestedPackageLineItems[0].CustomerReferences[0].Value = "CustomerReference";
            }
        }
Example #3
0
        private static void SetPackageLineItems(ProcessShipmentRequest request, ShipServiceInfo clsService, bool isCodShipment, string departmentID)
        {
            request.RequestedShipment.RequestedPackageLineItems    = new RequestedPackageLineItem[1];
            request.RequestedShipment.RequestedPackageLineItems[0] = new RequestedPackageLineItem();
            request.RequestedShipment.RequestedPackageLineItems[0].SequenceNumber = "1";

            // Package weight information
            request.RequestedShipment.RequestedPackageLineItems[0].Weight       = new Weight();
            request.RequestedShipment.RequestedPackageLineItems[0].Weight.Value = clsService.PackageWeight; // decimal
            request.RequestedShipment.RequestedPackageLineItems[0].Weight.Units = clsService.WeightUnit;    // WeightUnits.LB;

            // CustomerReferences
            // Jinbeom.p 2019.01.14 Customer DepartmentID 추가
            //request.RequestedShipment.RequestedPackageLineItems[0].CustomerReferences = new CustomerReference[2];
            request.RequestedShipment.RequestedPackageLineItems[0].CustomerReferences    = new CustomerReference[3];
            request.RequestedShipment.RequestedPackageLineItems[0].CustomerReferences[0] = new CustomerReference();
            request.RequestedShipment.RequestedPackageLineItems[0].CustomerReferences[0].CustomerReferenceType = CustomerReferenceType.P_O_NUMBER;
            request.RequestedShipment.RequestedPackageLineItems[0].CustomerReferences[0].Value = clsService.OrderNumber;

            request.RequestedShipment.RequestedPackageLineItems[0].CustomerReferences[1] = new CustomerReference();
            request.RequestedShipment.RequestedPackageLineItems[0].CustomerReferences[1].CustomerReferenceType = CustomerReferenceType.CUSTOMER_REFERENCE;
            request.RequestedShipment.RequestedPackageLineItems[0].CustomerReferences[1].Value = clsService.OrderNumber;

            // Jinbeom.p 2019.01.14 Customer DepartmentID 추가
            request.RequestedShipment.RequestedPackageLineItems[0].CustomerReferences[2] = new CustomerReference();
            request.RequestedShipment.RequestedPackageLineItems[0].CustomerReferences[2].CustomerReferenceType = CustomerReferenceType.DEPARTMENT_NUMBER;
            request.RequestedShipment.RequestedPackageLineItems[0].CustomerReferences[2].Value = departmentID;

            // Set COD (Cash On Delivery)
            if (isCodShipment)
            {
                SetCOD(request, clsService);
            }
        }
Example #4
0
 private void SetSender(ProcessShipmentRequest request)
 {
     request.RequestedShipment.Shipper                     = new Party();
     request.RequestedShipment.Shipper.Contact             = new Contact();
     request.RequestedShipment.Shipper.Contact.PersonName  = _senderBO.FirstName.Trim();   //"Sender Name";
     request.RequestedShipment.Shipper.Contact.CompanyName = _senderBO.CompanyName.Trim(); //"Sender Company Name";
     request.RequestedShipment.Shipper.Contact.PhoneNumber = _senderBO.Telephone.Trim();   //"0805522713";
     request.RequestedShipment.Shipper.Address             = new Address();
     request.RequestedShipment.Shipper.Address.StreetLines = new string[1] {
         _senderBO.Address1.Trim()
     };
     request.RequestedShipment.Shipper.Address.City = _senderBO.City.Trim();                       //"Austin";
     request.RequestedShipment.Shipper.Address.StateOrProvinceCode = _senderBO.State.Trim();       // "TX";
     request.RequestedShipment.Shipper.Address.PostalCode          = _senderBO.Zip.Trim();         // "73301";
     request.RequestedShipment.Shipper.Address.CountryCode         = _senderBO.CountryCode.Trim(); //"US";
     //request.RequestedShipment.Shipper = new Party();
     //request.RequestedShipment.Shipper.Contact = new Contact();
     //request.RequestedShipment.Shipper.Contact.PersonName = "Sender Name";
     //request.RequestedShipment.Shipper.Contact.CompanyName = "Sender Company Name";
     //request.RequestedShipment.Shipper.Contact.PhoneNumber = "0805522713";
     //request.RequestedShipment.Shipper.Address = new Address();
     //request.RequestedShipment.Shipper.Address.StreetLines = new string[1] { "Address Line 1" };
     //request.RequestedShipment.Shipper.Address.City = "Austin";
     //request.RequestedShipment.Shipper.Address.StateOrProvinceCode = "TX";
     //request.RequestedShipment.Shipper.Address.PostalCode = "73301";
     //request.RequestedShipment.Shipper.Address.CountryCode = "US";
 }
Example #5
0
        private void FedExOperations(DataRow dr)
        {
            // Set this to true to process a COD shipment and print a COD return Label
            bool isCodShipment             = false;
            ProcessShipmentRequest request = CreateShipmentRequest(isCodShipment, dr);

            //
            ShipWebServiceClient.ShipServiceWebReference.ShipService service = new ShipWebServiceClient.ShipServiceWebReference.ShipService();
            if (usePropertyFile())
            {
                service.Url = getProperty("endpoint");
            }
            //
            try
            {
                // Call the ship web service passing in a ProcessShipmentRequest and returning a ProcessShipmentReply
                ProcessShipmentReply reply = service.processShipment(request);
                if (reply.HighestSeverity == NotificationSeverityType.SUCCESS || reply.HighestSeverity == NotificationSeverityType.NOTE || reply.HighestSeverity == NotificationSeverityType.WARNING)
                {
                    ShowShipmentReply(isCodShipment, reply, txtLblPath.Text);
                }
                ShowNotifications(reply);
            }
            catch (SoapException e)
            {
                Console.WriteLine(e.Detail.InnerText);
            }
            catch (Exception e)
            {
                Console.WriteLine(e.Message);
            }
            //Console.WriteLine("\nPress any key to quit !");
            //Console.ReadKey();
        }
Example #6
0
        public override void CreateShipment()
        {
            ShipReply result = null;
            ProcessShipmentRequest request = CreateShipmentRequest();

            try
            {
                ShipService service = new ShipService();
                service.Url = Url;
                ProcessShipmentReply reply = service.processShipment(request);
                if ((reply.HighestSeverity != NotificationSeverityType.ERROR) && (reply.HighestSeverity != NotificationSeverityType.FAILURE))
                {
                    result = SetShipmentReply(reply);
                }
                else
                {
                    if (reply.Notifications.Length > 0)
                    {
                        ErrorMessage = string.Format("{0} {1}", reply.Notifications[0].Code, reply.Notifications[0].Message);
                    }
                }

                ShipReplyEx = result;
            }
            catch (SoapException e)
            {
                Debug.WriteLine(e.Detail.InnerText);
            }
            catch (Exception e)
            {
                Debug.WriteLine(e.Message);
            }
            // return result;
        }
Example #7
0
        private static void SetSender(ProcessShipmentRequest request, ShipServiceInfo clsService)
        {
            request.RequestedShipment.Shipper                     = new Party();
            request.RequestedShipment.Shipper.Contact             = new Contact();
            request.RequestedShipment.Shipper.Contact.CompanyName = clsService.ShipperName;
            request.RequestedShipment.Shipper.Contact.PhoneNumber = clsService.ShipperPhoneNumber;

            request.RequestedShipment.Shipper.Address = new Address();
            if (string.IsNullOrEmpty(clsService.ShipperAddress2))
            {
                request.RequestedShipment.Shipper.Address.StreetLines = new string[1] {
                    clsService.ShipperAddress
                };
            }
            else
            {
                request.RequestedShipment.Shipper.Address.StreetLines = new string[2] {
                    clsService.ShipperAddress, clsService.ShipperAddress2
                };
            }

            request.RequestedShipment.Shipper.Address.City = clsService.ShipperCity;
            request.RequestedShipment.Shipper.Address.StateOrProvinceCode = clsService.ShipperStateCode;
            request.RequestedShipment.Shipper.Address.PostalCode          = clsService.ShipperPostalCode;
            request.RequestedShipment.Shipper.Address.CountryCode         = clsService.ShipperCountryCode;
        }
Example #8
0
        private static void SetLabelDetails(ProcessShipmentRequest request, ShipServiceInfo clsService)
        {
            request.RequestedShipment.LabelSpecification                    = new LabelSpecification();
            request.RequestedShipment.LabelSpecification.ImageType          = clsService.LabelImageType;                          // ShippingDocumentImageType.ZPLII; // Use this line for a PDF label
            request.RequestedShipment.LabelSpecification.ImageTypeSpecified = true;
            request.RequestedShipment.LabelSpecification.LabelFormatType    = clsService.LabelFormatType;                         // LabelFormatType.COMMON2D;

            request.RequestedShipment.LabelSpecification.LabelStockType                    = clsService.LabelStockType;           // LabelStockType.STOCK_4X6;
            request.RequestedShipment.LabelSpecification.LabelStockTypeSpecified           = true;
            request.RequestedShipment.LabelSpecification.LabelPrintingOrientation          = clsService.LabelPrintingOrientation; // LabelPrintingOrientationType.BOTTOM_EDGE_OF_TEXT_FIRST;
            request.RequestedShipment.LabelSpecification.LabelPrintingOrientationSpecified = true;

            // *** 체크사항 (There is no below sorucecode on ship version v17)
            request.RequestedShipment.LabelSpecification.CustomerSpecifiedDetail = new CustomerSpecifiedLabelDetail();
            request.RequestedShipment.LabelSpecification.CustomerSpecifiedDetail.TermsAndConditionsLocalization = new Localization();
            request.RequestedShipment.LabelSpecification.CustomerSpecifiedDetail.TermsAndConditionsLocalization.LanguageCode = clsService.LanguageCode;     // "EN";
            request.RequestedShipment.LabelSpecification.CustomerSpecifiedDetail.TermsAndConditionsLocalization.LocaleCode   = clsService.LocaleCode;       // "US";

            /*
             * Requests customer-specific barcode on FedEx Ground and FedEx Home Delivery labels.
             * Valid values are:
             * 􀁸 NONE
             * 􀁸 COMMON_2D
             * 􀁸 SSCC_18
             * 􀁸 USPS
             * Note: USPS is applicable for FedEx SmartPost shipments.
             * request.RequestedShipment.LabelSpecification.CustomerSpecifiedDetail.SecondaryBarcode = SecondaryBarcodeType.COMMON_2D;
             */
        }
Example #9
0
        private static void SetSmartPostDetails(ProcessShipmentRequest request, decimal packageWeight, string hubId)
        {
            request.RequestedShipment.SmartPostDetail = new SmartPostShipmentDetail();

            // Concerning the Indicia, use ‘PARCEL_SELECT’ for anything that’s 1-70 lbs. Anything less than 1 lbs. use ‘PRESORTED_STANDARD’.
            if (packageWeight < 1.00M)
            {
                request.RequestedShipment.SmartPostDetail.Indicia = SmartPostIndiciaType.PRESORTED_STANDARD; // (less than 1 LB)
            }
            else
            {
                request.RequestedShipment.SmartPostDetail.Indicia = SmartPostIndiciaType.PARCEL_SELECT;     // PARCEL_SELECT (1 LB through 70 LBS)
            }
            request.RequestedShipment.SmartPostDetail.IndiciaSpecified              = true;
            request.RequestedShipment.SmartPostDetail.AncillaryEndorsement          = SmartPostAncillaryEndorsementType.ADDRESS_CORRECTION;
            request.RequestedShipment.SmartPostDetail.AncillaryEndorsementSpecified = true;
            request.RequestedShipment.SmartPostDetail.HubId = hubId; // 5902 LACA Los Angeles

            /*
             * 5902 LACA Los Angeles (FedEx Live Environment)
             * 5531 NBWI New Berlin  (FedEx Test Environment)
             * Note: Include only the numeric HubID value in your request.
             * HubID 5531 should be used in the FedEx Test Environment.
             */
        }
Example #10
0
 private static void SetLabelDetails(ProcessShipmentRequest request)
 {
     request.RequestedShipment.LabelSpecification                    = new LabelSpecification();
     request.RequestedShipment.LabelSpecification.ImageType          = ShippingDocumentImageType.PDF; // Image types PDF, PNG, DPL, ...
     request.RequestedShipment.LabelSpecification.ImageTypeSpecified = true;
     request.RequestedShipment.LabelSpecification.LabelFormatType    = LabelFormatType.COMMON2D;
 }
Example #11
0
        private void SetCustomsClearanceDetails(ProcessShipmentRequest request)
        {
            request.RequestedShipment.CustomsClearanceDetail = new CustomsClearanceDetail();
            request.RequestedShipment.CustomsClearanceDetail.DutiesPayment                        = new Payment();
            request.RequestedShipment.CustomsClearanceDetail.DutiesPayment.PaymentType            = PaymentType.SENDER;
            request.RequestedShipment.CustomsClearanceDetail.DutiesPayment.Payor                  = new Payor();
            request.RequestedShipment.CustomsClearanceDetail.DutiesPayment.Payor.ResponsibleParty = new Party();
            request.RequestedShipment.CustomsClearanceDetail.DutiesPayment.Payor.ResponsibleParty.AccountNumber = _accountNumber;

            request.RequestedShipment.CustomsClearanceDetail.DutiesPayment.Payor.ResponsibleParty.Contact = new Contact()
            {
                PersonName = Shipment.OriginAddress.PersonName, CompanyName = Shipment.OriginAddress.CompanyName, PhoneNumber = Shipment.OriginAddress.PhoneNumber
            };
            request.RequestedShipment.CustomsClearanceDetail.DutiesPayment.Payor.ResponsibleParty.Address = new ShipServiceWebReference.Address()
            {
                StreetLines = new string[1] {
                    Shipment.OriginAddress.Line1
                }, City = Shipment.OriginAddress.City, PostalCode = Shipment.OriginAddress.PostalCode
            };
            request.RequestedShipment.CustomsClearanceDetail.DutiesPayment.Payor.ResponsibleParty.Address.CountryCode = Shipment.OriginAddress.CountryCode;
            request.RequestedShipment.CustomsClearanceDetail.DocumentContent = InternationalDocumentContentType.NON_DOCUMENTS;
            //
            request.RequestedShipment.CustomsClearanceDetail.CustomsValue          = new Money();
            request.RequestedShipment.CustomsClearanceDetail.CustomsValue.Amount   = 0M;
            request.RequestedShipment.CustomsClearanceDetail.CustomsValue.Currency = Shipment.Currency;
            //
            SetCommodityDetails(request);
        }
Example #12
0
        private void SetShipmentDetails(ProcessShipmentRequest request)
        {
            request.RequestedShipment = new RequestedShipment();
            request.RequestedShipment.ShipTimestamp = DateTime.Now; // Ship date and time
            //
            request.RequestedShipment.DropoffType   = DropoffType.REGULAR_PICKUP;
            request.RequestedShipment.ServiceType   = ServiceType.INTERNATIONAL_PRIORITY;
            request.RequestedShipment.PackagingType = PackagingType.YOUR_PACKAGING; // Packaging type YOUR_PACKAGING, ...
            //
            request.RequestedShipment.PackageCount = Shipment.PackageCount.ToString();

            //request.RequestedShipment.TotalWeight = new Weight();
            //request.RequestedShipment.TotalWeight.Units = WeightUnits.KG;
            //request.RequestedShipment.TotalWeight.Value = Shipment.TotalPackageWeight;

            //request.RequestedShipment.RateRequestTypes = new RateRequestType[1];
            //request.RequestedShipment.RateRequestTypes[0] = RateRequestType.NONE;

            request.RequestedShipment.MasterTrackingId = new TrackingId()
            {
                TrackingIdTypeSpecified = true, TrackingIdType = TrackingIdType.EXPRESS
            };                                                                                                                                        //TrackingIdType = TrackingIdType.FEDEX
            request.RequestedShipment.MasterTrackingId.FormId         = _fromId;
            request.RequestedShipment.MasterTrackingId.TrackingNumber = _trackingNumber;
        }
Example #13
0
        /// <summary>
        /// 获取物流细节
        /// </summary>
        /// <param name="ctx"></param>
        /// <param name="notices"></param>
        /// <returns></returns>
        public static Dictionary <string, T> GetLogisticsDetail <T>(Context ctx, List <DeliveryNotice> notices)
        {
            string messages             = "";
            Dictionary <string, T> dict = new Dictionary <string, T>();

            // Set this to true to process a COD shipment and print a COD return Label

            if (notices != null && notices.Count > 0)
            {
                foreach (var notice in notices)
                {
                    ProcessShipmentRequest request = CreateShipmentRequest(notice);

                    LogXML("DeliveryNoitceNo:" + notice.FBillNo + " Request ", request, typeof(ProcessShipmentRequest));

                    ShipService service = new ShipService();
                    if (usePropertyFile())
                    {
                        service.Url = getProperty("endpoint");
                    }
                    //
                    try
                    {
                        // Call the ship web service passing in a ProcessShipmentRequest and returning a ProcessShipmentReply
                        ProcessShipmentReply reply = service.processShipment(request);

                        LogXML("DeliveryNoitceNo:" + notice.FBillNo + " Reply ", reply, typeof(ProcessShipmentReply));
                        messages += GetNotifications(reply);

                        if ((reply.HighestSeverity != NotificationSeverityType.ERROR) && (reply.HighestSeverity != NotificationSeverityType.FAILURE))
                        {
                            notice.TraceEntry = GetShipmentReply(reply);
                            //LogXML(reply, typeof(ProcessShipmentReply));
                        }
                        RecordNotifications(ctx, reply);
                    }
                    catch (SoapException ex)
                    {
                        SynchroDataHelper.WriteSynchroLog(ctx, SynchroDataType.DeliveryNoticeBill, ex.Message + System.Environment.NewLine + ex.StackTrace);
                    }
                    catch (Exception ex)
                    {
                        SynchroDataHelper.WriteSynchroLog(ctx, SynchroDataType.DeliveryNoticeBill, ex.Message + System.Environment.NewLine + ex.StackTrace);
                    }
                }
            }

            HttpResponseResult result = new HttpResponseResult();

            result.Message = messages;

            dict.Add("result", (T)(Object)result);
            dict.Add("notices", (T)(Object)notices);

            return(dict);
        }
Example #14
0
        private static void SetPackageLineItems(ProcessShipmentRequest request, DeliveryNotice notice)
        {
            request.RequestedShipment.RequestedPackageLineItems    = new RequestedPackageLineItem[1];
            request.RequestedShipment.RequestedPackageLineItems[0] = new RequestedPackageLineItem();
            request.RequestedShipment.RequestedPackageLineItems[0].SequenceNumber = "1";
            // Package weight information
            request.RequestedShipment.RequestedPackageLineItems[0].Weight       = new Weight();
            request.RequestedShipment.RequestedPackageLineItems[0].Weight.Value = 20.0M;
            request.RequestedShipment.RequestedPackageLineItems[0].Weight.Units = WeightUnits.KG;
            // package dimensions
            //request.RequestedShipment.RequestedPackageLineItems[0].Dimensions = new Dimensions();
            //request.RequestedShipment.RequestedPackageLineItems[0].Dimensions.Length = "12";
            //request.RequestedShipment.RequestedPackageLineItems[0].Dimensions.Width = "13";
            //request.RequestedShipment.RequestedPackageLineItems[0].Dimensions.Height = "14";
            //request.RequestedShipment.RequestedPackageLineItems[0].Dimensions.Units = LinearUnits.CM;
            // insured value
            //request.RequestedShipment.RequestedPackageLineItems[0].InsuredValue = new Money();
            //request.RequestedShipment.RequestedPackageLineItems[0].InsuredValue.Amount = 100;
            //request.RequestedShipment.RequestedPackageLineItems[0].InsuredValue.Currency = notice.orderFin.FSettleCurrID;
            // Reference details
            request.RequestedShipment.RequestedPackageLineItems[0].CustomerReferences = new CustomerReference[1] {
                new CustomerReference()
            };
            request.RequestedShipment.RequestedPackageLineItems[0].CustomerReferences[0].CustomerReferenceType = CustomerReferenceType.CUSTOMER_REFERENCE;
            request.RequestedShipment.RequestedPackageLineItems[0].CustomerReferences[0].Value = "testreference";

            //if (notice != null)
            //{
            //    if (notice.Packages != null && notice.Packages.Count > 0)
            //    {
            //        request.RequestedShipment.RequestedPackageLineItems = new RequestedPackageLineItem[notice.Packages.Count];

            //        for (int i = 0; i < notice.Packages.Count; i++)
            //        {
            //            if (notice.Packages[i] != null)
            //            {
            //                Package package = notice.Packages[i];

            //                request.RequestedShipment.RequestedPackageLineItems[i] = new RequestedPackageLineItem();
            //                //
            //                request.RequestedShipment.RequestedPackageLineItems[i].SequenceNumber = package.SequenceNumber;
            //                // Package weight information
            //                request.RequestedShipment.RequestedPackageLineItems[i].Weight = new Weight();
            //                request.RequestedShipment.RequestedPackageLineItems[i].Weight.Value = package.Weight;
            //                request.RequestedShipment.RequestedPackageLineItems[i].Weight.Units = WeightUnits.KG;
            //                //
            //                request.RequestedShipment.RequestedPackageLineItems[i].Dimensions = new Dimensions();
            //                request.RequestedShipment.RequestedPackageLineItems[i].Dimensions.Length = package.Dimension.Length;
            //                request.RequestedShipment.RequestedPackageLineItems[i].Dimensions.Width = package.Dimension.Width;
            //                request.RequestedShipment.RequestedPackageLineItems[i].Dimensions.Height =package.Dimension.Height;
            //                request.RequestedShipment.RequestedPackageLineItems[i].Dimensions.Units = LinearUnits.CM;
            //            }
            //        }
            //    }
            //}
        }
Example #15
0
 private void SetDocumentSpecification(ProcessShipmentRequest request)
 {
     request.RequestedShipment.ShippingDocumentSpecification = new ShippingDocumentSpecification();
     request.RequestedShipment.ShippingDocumentSpecification.ShippingDocumentTypes                    = new RequestedShippingDocumentType[1];
     request.RequestedShipment.ShippingDocumentSpecification.ShippingDocumentTypes[0]                 = RequestedShippingDocumentType.COMMERCIAL_INVOICE;
     request.RequestedShipment.ShippingDocumentSpecification.CommercialInvoiceDetail                  = new CommercialInvoiceDetail();
     request.RequestedShipment.ShippingDocumentSpecification.CommercialInvoiceDetail.Format           = new ShippingDocumentFormat();
     request.RequestedShipment.ShippingDocumentSpecification.CommercialInvoiceDetail.Format.ImageType = ShippingDocumentImageType.PDF;
     request.RequestedShipment.ShippingDocumentSpecification.CommercialInvoiceDetail.Format.StockType = ShippingDocumentStockType.PAPER_LETTER;
 }
Example #16
0
 private void SetRMA(ProcessShipmentRequest request)
 {
     request.RequestedShipment.SpecialServicesRequested = new ShipmentSpecialServicesRequested();
     request.RequestedShipment.SpecialServicesRequested.SpecialServiceTypes             = new ShipmentSpecialServiceType[1];
     request.RequestedShipment.SpecialServicesRequested.SpecialServiceTypes[0]          = new ShipmentSpecialServiceType();
     request.RequestedShipment.SpecialServicesRequested.SpecialServiceTypes[0]          = ShipmentSpecialServiceType.RETURN_SHIPMENT;
     request.RequestedShipment.SpecialServicesRequested.ReturnShipmentDetail            = new ReturnShipmentDetail();
     request.RequestedShipment.SpecialServicesRequested.ReturnShipmentDetail.Rma        = new Rma();
     request.RequestedShipment.SpecialServicesRequested.ReturnShipmentDetail.Rma.Reason = "RMA_TEST";
     request.RequestedShipment.SpecialServicesRequested.ReturnShipmentDetail.ReturnType = ReturnType.PRINT_RETURN_LABEL;
 }
Example #17
0
        private void SetCommodityDetails(ProcessShipmentRequest request)
        {
            int count = Shipment.Packages.Count;

            List <Commodity> comList = new List <Commodity>();
            Commodity        commodity;

            foreach (var package in Shipment.Packages)
            {
                commodity = new Commodity();
                commodity.NumberOfPieces       = "1";
                commodity.Description          = package.Description;
                commodity.CountryOfManufacture = Shipment.OriginAddress.CountryCode;
                //
                commodity.Weight       = new Weight();
                commodity.Weight.Value = package.Weight;
                commodity.Weight.Units = package.ShipWeightUnit == WeightUnit.KG ? WeightUnits.KG : WeightUnits.LB;
                //
                commodity.Quantity          = 1.0M;
                commodity.QuantitySpecified = true;
                commodity.QuantityUnits     = "EA";
                //
                commodity.UnitPrice          = new Money();
                commodity.UnitPrice.Amount   = 0;
                commodity.UnitPrice.Currency = package.Currency;
                //
                commodity.CustomsValue          = new Money();
                commodity.CustomsValue.Amount   = 0;
                commodity.CustomsValue.Currency = package.Currency;
                comList.Add(commodity);
            }

            request.RequestedShipment.CustomsClearanceDetail.Commodities = comList.ToArray();

            //request.RequestedShipment.CustomsClearanceDetail.Commodities[0].NumberOfPieces = "1";
            //request.RequestedShipment.CustomsClearanceDetail.Commodities[0].Description = "test1";
            //request.RequestedShipment.CustomsClearanceDetail.Commodities[0].CountryOfManufacture = "US";
            ////
            //request.RequestedShipment.CustomsClearanceDetail.Commodities[0].Weight = new Weight();
            //request.RequestedShipment.CustomsClearanceDetail.Commodities[0].Weight.Value = 1.0M;
            //request.RequestedShipment.CustomsClearanceDetail.Commodities[0].Weight.Units = WeightUnits.KG;
            ////
            //request.RequestedShipment.CustomsClearanceDetail.Commodities[0].Quantity = 1.0M;
            //request.RequestedShipment.CustomsClearanceDetail.Commodities[0].QuantitySpecified = true;
            //request.RequestedShipment.CustomsClearanceDetail.Commodities[0].QuantityUnits = "EA";
            ////
            //request.RequestedShipment.CustomsClearanceDetail.Commodities[0].UnitPrice = new Money();
            //request.RequestedShipment.CustomsClearanceDetail.Commodities[0].UnitPrice.Amount = 40.000000M;
            //request.RequestedShipment.CustomsClearanceDetail.Commodities[0].UnitPrice.Currency = "USD";
            ////
            //request.RequestedShipment.CustomsClearanceDetail.Commodities[0].CustomsValue = new Money();
            //request.RequestedShipment.CustomsClearanceDetail.Commodities[0].CustomsValue.Amount = 10.000000M;
            //request.RequestedShipment.CustomsClearanceDetail.Commodities[0].CustomsValue.Currency = "USD";
        }
Example #18
0
 private static void SetShipmentDetails(ProcessShipmentRequest request)
 {
     request.RequestedShipment = new RequestedShipment();
     request.RequestedShipment.ShipTimestamp = DateTime.Now; // Ship date and time
     //
     request.RequestedShipment.DropoffType   = DropoffType.REGULAR_PICKUP;
     request.RequestedShipment.ServiceType   = ServiceType.INTERNATIONAL_PRIORITY;
     request.RequestedShipment.PackagingType = PackagingType.YOUR_PACKAGING; // Packaging type YOUR_PACKAGING, ...
     //
     request.RequestedShipment.PackageCount = "1";
 }
Example #19
0
 private static void SetLabelDetails(ProcessShipmentRequest request)
 {
     request.RequestedShipment.LabelSpecification                                   = new LabelSpecification();
     request.RequestedShipment.LabelSpecification.ImageType                         = ShippingDocumentImageType.PDF; // Use this line for a PDF label
     request.RequestedShipment.LabelSpecification.ImageTypeSpecified                = true;
     request.RequestedShipment.LabelSpecification.LabelFormatType                   = LabelFormatType.COMMON2D;
     request.RequestedShipment.LabelSpecification.LabelStockType                    = LabelStockType.PAPER_7X475;
     request.RequestedShipment.LabelSpecification.LabelStockTypeSpecified           = true;
     request.RequestedShipment.LabelSpecification.LabelPrintingOrientation          = LabelPrintingOrientationType.BOTTOM_EDGE_OF_TEXT_FIRST;
     request.RequestedShipment.LabelSpecification.LabelPrintingOrientationSpecified = true;
 }
Example #20
0
 private void SetLabelDetails(ProcessShipmentRequest request)
 {
     request.RequestedShipment.LabelSpecification                 = new LabelSpecification();
     request.RequestedShipment.LabelSpecification.ImageType       = ShippingDocumentImageType.PDF; // Image types PDF, PNG, DPL, ...
     request.RequestedShipment.LabelSpecification.LabelFormatType = LabelFormatType.COMMON2D;
     request.RequestedShipment.LabelSpecification.LabelPrintingOrientationSpecified = true;
     request.RequestedShipment.LabelSpecification.LabelStockTypeSpecified           = true;
     request.RequestedShipment.LabelSpecification.LabelStockType           = LabelStockType.PAPER_85X11_TOP_HALF_LABEL;
     request.RequestedShipment.LabelSpecification.LabelPrintingOrientation = LabelPrintingOrientationType.TOP_EDGE_OF_TEXT_FIRST;
     request.RequestedShipment.LabelSpecification.ImageTypeSpecified       = true;
 }
Example #21
0
 private static void SetCOD(ProcessShipmentRequest request, ShipServiceInfo clsService)
 {
     request.RequestedShipment.RequestedPackageLineItems[0].SpecialServicesRequested = new PackageSpecialServicesRequested();
     request.RequestedShipment.RequestedPackageLineItems[0].SpecialServicesRequested.SpecialServiceTypes    = new PackageSpecialServiceType[1];
     request.RequestedShipment.RequestedPackageLineItems[0].SpecialServicesRequested.SpecialServiceTypes[0] = PackageSpecialServiceType.COD;
     //
     request.RequestedShipment.RequestedPackageLineItems[0].SpecialServicesRequested.CodDetail = new CodDetail();
     request.RequestedShipment.RequestedPackageLineItems[0].SpecialServicesRequested.CodDetail.CollectionType               = CodCollectionType.GUARANTEED_FUNDS;
     request.RequestedShipment.RequestedPackageLineItems[0].SpecialServicesRequested.CodDetail.CodCollectionAmount          = new Money();
     request.RequestedShipment.RequestedPackageLineItems[0].SpecialServicesRequested.CodDetail.CodCollectionAmount.Amount   = clsService.CODAmount;
     request.RequestedShipment.RequestedPackageLineItems[0].SpecialServicesRequested.CodDetail.CodCollectionAmount.Currency = clsService.Currency;
 }
Example #22
0
        private static void SetPayment(ProcessShipmentRequest request, DeliveryNotice notice)
        {
            request.RequestedShipment.ShippingChargesPayment                        = new Payment();
            request.RequestedShipment.ShippingChargesPayment.PaymentType            = PaymentType.SENDER;
            request.RequestedShipment.ShippingChargesPayment.Payor                  = new Payor();
            request.RequestedShipment.ShippingChargesPayment.Payor.ResponsibleParty = new Party();
            //request.RequestedShipment.ShippingChargesPayment.Payor.ResponsibleParty.AccountNumber = ConfigurationUtil.GetAppSetting("payoraccount"); // Replace "XXX" with client's account number

            request.RequestedShipment.ShippingChargesPayment.Payor.ResponsibleParty.Contact             = new Contact();
            request.RequestedShipment.ShippingChargesPayment.Payor.ResponsibleParty.Address             = new Address();
            request.RequestedShipment.ShippingChargesPayment.Payor.ResponsibleParty.Address.CountryCode = notice.F_HS_RecipientCountry;
        }
Example #23
0
        private static ProcessShipmentRequest CreateShipmentRequest(bool isCodShipment)
        {
            // Build the ShipmentRequest
            ProcessShipmentRequest request = new ProcessShipmentRequest();

            //
            SetShipmentDetails(request);
            //
            SetPackageLineItems(isCodShipment, request);
            //
            return(request);
        }
Example #24
0
 private static void SetCOD(ProcessShipmentRequest request)
 {
     request.RequestedShipment.SpecialServicesRequested = new ShipmentSpecialServicesRequested();
     request.RequestedShipment.SpecialServicesRequested.SpecialServiceTypes    = new ShipmentSpecialServiceType[1];
     request.RequestedShipment.SpecialServicesRequested.SpecialServiceTypes[0] = ShipmentSpecialServiceType.COD;
     //
     request.RequestedShipment.SpecialServicesRequested.CodDetail = new CodDetail();
     request.RequestedShipment.SpecialServicesRequested.CodDetail.CollectionType               = CodCollectionType.GUARANTEED_FUNDS;
     request.RequestedShipment.SpecialServicesRequested.CodDetail.CodCollectionAmount          = new Money();
     request.RequestedShipment.SpecialServicesRequested.CodDetail.CodCollectionAmount.Amount   = 250.00M;
     request.RequestedShipment.SpecialServicesRequested.CodDetail.CodCollectionAmount.Currency = "USD";
 }
Example #25
0
        private static void SetPayment(ProcessShipmentRequest request, string payorAccountNumber, string countryCode)
        {
            request.RequestedShipment.ShippingChargesPayment             = new Payment();
            request.RequestedShipment.ShippingChargesPayment.PaymentType = PaymentType.SENDER;

            request.RequestedShipment.ShippingChargesPayment.Payor = new Payor();
            request.RequestedShipment.ShippingChargesPayment.Payor.ResponsibleParty = new Party();
            request.RequestedShipment.ShippingChargesPayment.Payor.ResponsibleParty.AccountNumber = payorAccountNumber;

            request.RequestedShipment.ShippingChargesPayment.Payor.ResponsibleParty.Contact             = new Contact();
            request.RequestedShipment.ShippingChargesPayment.Payor.ResponsibleParty.Address             = new Address();
            request.RequestedShipment.ShippingChargesPayment.Payor.ResponsibleParty.Address.CountryCode = countryCode;
        }
Example #26
0
        private ProcessShipmentRequest CreateShipmentRequest()
        {
            //
            ProcessShipmentRequest request = new ProcessShipmentRequest();

            //
            request.WebAuthenticationDetail = new WebAuthenticationDetail();
            request.WebAuthenticationDetail.UserCredential          = new WebAuthenticationCredential();
            request.WebAuthenticationDetail.UserCredential.Key      = _key;
            request.WebAuthenticationDetail.UserCredential.Password = _password;

            request.ClientDetail = new ClientDetail();
            request.ClientDetail.AccountNumber = _accountNumber;
            request.ClientDetail.MeterNumber   = _meterNumber;

            request.ClientDetail.Localization = new Localization();
            request.ClientDetail.Localization.LanguageCode = "zh";
            request.ClientDetail.Localization.LocaleCode   = "CN";
            //
            request.TransactionDetail = new TransactionDetail();
            request.TransactionDetail.CustomerTransactionId = "***ChemCloud CreateShip***";

            request.TransactionDetail.Localization = new Localization();
            request.TransactionDetail.Localization.LanguageCode = "zh";
            request.TransactionDetail.Localization.LocaleCode   = "CN";

            //
            request.Version = new VersionId()
            {
                ServiceId = "ship", Major = 17, Intermediate = 0, Minor = 0
            };
            //物流信息
            SetShipmentDetails(request);
            //发送人
            SetSender(request);
            //接收人
            SetRecipient(request);
            //费用
            SetPayment(request);
            //返回数据格式设置
            SetLabelDetails(request);
            //包裹信息
            SetPackageLineItems(request);
            //清关信息
            SetCustomsClearanceDetails(request);
            //
            // SetDocumentSpecification(request);

            return(request);
        }
Example #27
0
 private static void SetShipmentDetails(ProcessShipmentRequest request)
 {
     request.RequestedShipment = new RequestedShipment();
     request.RequestedShipment.ShipTimestamp = DateTime.Now;                 // Ship date and time
     request.RequestedShipment.ServiceType   = ServiceType.FEDEX_GROUND;     // Service types are FEDEX_GROUND, GROUND_HOME_DELIVERY ...
     request.RequestedShipment.PackagingType = PackagingType.YOUR_PACKAGING; // Packaging type YOUR_PACKAGING, ...
                                                                             //
     request.RequestedShipment.PackageCount = "1";
     //request.RequestedShipment.RequestedPackageLineItems
     // set HAL
     bool isHALShipment = false;
     //if (isHALShipment)
     //    SetHAL(request);
 }
Example #28
0
 private void SetPayment(ProcessShipmentRequest request)
 {
     request.RequestedShipment.ShippingChargesPayment                        = new Payment();
     request.RequestedShipment.ShippingChargesPayment.PaymentType            = PaymentType.SENDER;
     request.RequestedShipment.ShippingChargesPayment.Payor                  = new Payor();
     request.RequestedShipment.ShippingChargesPayment.Payor.ResponsibleParty = new Party();
     request.RequestedShipment.ShippingChargesPayment.Payor.ResponsibleParty.AccountNumber = _credentials.FedexACNo.ToString();; //"510088000"; // Replace "XXX" with client's account number
     if (usePropertyFile())                                                                                                      //Set values from a file for testing purposes
     {
         request.RequestedShipment.ShippingChargesPayment.Payor.ResponsibleParty.AccountNumber = getProperty("payoraccount");
     }
     request.RequestedShipment.ShippingChargesPayment.Payor.ResponsibleParty.Contact             = new Contact();
     request.RequestedShipment.ShippingChargesPayment.Payor.ResponsibleParty.Address             = new Address();
     request.RequestedShipment.ShippingChargesPayment.Payor.ResponsibleParty.Address.CountryCode = "US";
 }
Example #29
0
 private static void SetRecipient(ProcessShipmentRequest request, DeliveryNotice notice)
 {
     request.RequestedShipment.Recipient                             = new Party();
     request.RequestedShipment.Recipient.Contact                     = new Contact();
     request.RequestedShipment.Recipient.Contact.PersonName          = notice.F_HS_DeliveryName;
     request.RequestedShipment.Recipient.Contact.CompanyName         = notice.FCustCompany;
     request.RequestedShipment.Recipient.Contact.PhoneNumber         = notice.F_HS_MobilePhone;
     request.RequestedShipment.Recipient.Address                     = new Address();
     request.RequestedShipment.Recipient.Address.StreetLines         = GetDeliveryAddress(notice.F_HS_DeliveryAddress);
     request.RequestedShipment.Recipient.Address.City                = notice.F_HS_DeliveryCity;
     request.RequestedShipment.Recipient.Address.StateOrProvinceCode = StateOrProvinceCode.GetStateOrProvinceCode(notice.F_HS_DeliveryProvinces);
     request.RequestedShipment.Recipient.Address.PostalCode          = notice.F_HS_PostCode;
     request.RequestedShipment.Recipient.Address.CountryCode         = notice.F_HS_RecipientCountry;
     request.RequestedShipment.Recipient.Address.Residential         = true;
 }
Example #30
0
 private static void SetSender(ProcessShipmentRequest request)
 {
     request.RequestedShipment.Shipper                     = new Party();
     request.RequestedShipment.Shipper.Contact             = new Contact();
     request.RequestedShipment.Shipper.Contact.PersonName  = "Sender Name";
     request.RequestedShipment.Shipper.Contact.CompanyName = "Sender Company Name";
     request.RequestedShipment.Shipper.Contact.PhoneNumber = "0805522713";
     request.RequestedShipment.Shipper.Address             = new Address();
     request.RequestedShipment.Shipper.Address.StreetLines = new string[1] {
         "Address Line 1"
     };
     request.RequestedShipment.Shipper.Address.City = "Austin";
     request.RequestedShipment.Shipper.Address.StateOrProvinceCode = "TX";
     request.RequestedShipment.Shipper.Address.PostalCode          = "73301";
     request.RequestedShipment.Shipper.Address.CountryCode         = "US";
 }
        private void buildRequest()
        {
            request = new ProcessShipmentRequest();
            request.WebAuthenticationDetail = auth;
            request.ClientDetail = clientDetail;
            request.TransactionDetail = new TransactionDetail();
            request.TransactionDetail.CustomerTransactionId = currentDespatch.SalesOrderNumber;

            request.Version = new VersionId();

            request.RequestedShipment = new RequestedShipment();
            request.RequestedShipment.ShipTimestamp = DateTime.Now;

            request.RequestedShipment.DropoffType = Settings.DropOffType;
            if (string.IsNullOrEmpty(currentDespatch.ServiceTypeCode))
            {
                request.RequestedShipment.ServiceType = Settings.ServiceType;
            }
            else
            {
                request.RequestedShipment.ServiceType = (ServiceType)Enum.Parse(typeof(ServiceType), currentDespatch.ServiceTypeCode);
            }
            request.RequestedShipment.PackagingType = Settings.PackagingType;

            request.RequestedShipment.PackageCount = currentDespatch.Packages.Length.ToString();

            request.RequestedShipment.Shipper = shipper;
            request.RequestedShipment.Recipient = buildRecipientSpec();
            request.RequestedShipment.ShippingChargesPayment = buildPaymentSpec();
            request.RequestedShipment.LabelSpecification = buildLabelSpec();
            request.RequestedShipment.RequestedPackageLineItems = buildPackageSpec();
            request.RequestedShipment.CustomsClearanceDetail = buildCustomClearanceSpec();
            request.RequestedShipment.ShippingDocumentSpecification = buildShippingDocumentSpec();

            //request.RequestedShipment.EdtRequestType = EdtRequestType.ALL;
            //request.RequestedShipment.EdtRequestTypeSpecified = true;

            request.RequestedShipment.SpecialServicesRequested = buildSpecialServiceSpec();
        }
 /// <remarks/>
 public System.IAsyncResult BeginprocessShipment(ProcessShipmentRequest ProcessShipmentRequest, System.AsyncCallback callback, object asyncState)
 {
     return this.BeginInvoke("processShipment", new object[] {
                 ProcessShipmentRequest}, callback, asyncState);
 }
 /// <remarks/>
 public void processShipmentAsync(ProcessShipmentRequest ProcessShipmentRequest)
 {
     this.processShipmentAsync(ProcessShipmentRequest, null);
 }
 /// <remarks/>
 public void processShipmentAsync(ProcessShipmentRequest ProcessShipmentRequest, object userState)
 {
     if ((this.processShipmentOperationCompleted == null)) {
         this.processShipmentOperationCompleted = new System.Threading.SendOrPostCallback(this.OnprocessShipmentOperationCompleted);
     }
     this.InvokeAsync("processShipment", new object[] {
                 ProcessShipmentRequest}, this.processShipmentOperationCompleted, userState);
 }