Пример #1
0
        private void UpdateShipment(string requestClob)
        {
            CentiroUpdateShipment     report  = _updateShipmentSerializer.Deserialize(new StringReader(requestClob)) as CentiroUpdateShipment;
            UpdateShipmentRequestType request = _businessDataMapper.Map(report);

            if (request == null)
            {
                throw new CentiroAdapterException(
                          string.Format("Failed to deserialize UpdateShipment clob. Data = {0}", requestClob));
            }
            else
            {
                MessageId         = Convert.ToString(DateTime.Now.Ticks);
                request.MessageId = MessageId;

                if (_isXmlDumpEnabled)
                {
                    new XMLHelper().DumpToFile(new XMLHelper().InterfaceClassToXml(request), LogFileName("UpdateShipment_Request"));
                }

                CentiroServiceAgent csAdapter = GetCachedAdapter(report.url);
                csAdapter.UpdateShipment(request, _isXmlDumpEnabled);
            }
        }
Пример #2
0
        public UpdateShipmentRequestType Map(CentiroUpdateShipment report)
        {
            UpdateShipmentRequestType request = new UpdateShipmentRequestType();

            request.Shipment = new CentiroService.Shipment();
            request.Shipment.ModeOfTransport = new ModeOfTransport();
            request.Shipment.Receiver        = new CentiroService.Receiver();
            request.Shipment.Addresses       = new List <CentiroService.Address>();

            request.Shipment.CODAmount            = Convert.ToDouble(report.cODAmount, _numFormatInfo);
            request.Shipment.CODCurrency          = report.cODCurrency;
            request.Shipment.CODReference         = report.cODReference;
            request.Shipment.DeliveryInstruction1 = SafeSubstring(report.deliveryInstruction, 0, 50);
            request.Shipment.DeliveryInstruction2 = SafeSubstring(report.deliveryInstruction, 50, 50);
            request.Shipment.DeliveryInstruction3 = SafeSubstring(report.deliveryInstruction, 100, 50);
            request.Shipment.DeliveryInstruction4 = SafeSubstring(report.deliveryInstruction, 150, 50);
            request.Shipment.FreightCost          = Convert.ToDouble(report.freightCost, _numFormatInfo);
            request.Shipment.FreightCurrency      = report.freightCurrency;
            request.Shipment.FreightPrice         = Convert.ToDouble(report.freightPrice, _numFormatInfo);
            request.Shipment.InsuranceAmount      = Convert.ToDouble(report.insuranceAmount, _numFormatInfo);
            request.Shipment.LastModifiedBy       = report.lastModifiedBy;
            request.Shipment.LoadingMeasure       = Convert.ToDouble(report.loadingMeasure, _numFormatInfo);
            request.Shipment.MemoField            = report.memoField;
            request.Shipment.NumberOfEURPallets   = report.numberOfEURPallets;
            request.Shipment.OrderNo            = report.orderNo;
            request.Shipment.Reference          = report.reference;
            request.Shipment.RouteNo            = report.routeNo;
            request.Shipment.SenderCode         = report.senderCode;
            request.Shipment.SequenceNo         = report.sequenceNo;
            request.Shipment.ShipDate           = report.shipDate;
            request.Shipment.ShipmentIdentifier = report.shipmentIdentity;
            request.Shipment.TermsOfDelivery    = report.termsOfDelivery;
            switch (report.transportPayer)
            {
            case "1":
                request.Shipment.TransportPayer = "P";
                break;

            case "3":
                request.Shipment.TransportPayer = "C";
                break;

            case "4":
                request.Shipment.TransportPayer = "B";
                break;

            default:
                request.Shipment.TransportPayer = "P";
                break;
            }

            request.Shipment.TransportPayerCustNo = report.transportPayerCustNo;
            request.Shipment.TripNo = report.tripNo;
            request.Shipment.Weight = Convert.ToDouble(report.weight, _numFormatInfo);
            request.Shipment.Volume = Convert.ToDouble(report.volume, _numFormatInfo);
            request.Shipment.ModeOfTransport.Carrier        = report.carrier;
            request.Shipment.ModeOfTransport.CarrierService = report.methodOfShipment;

            List <CentiroService.CarrierServiceAttribute> tsrList = new List <CentiroService.CarrierServiceAttribute>();

            if (report.tsrList.tsr != null)
            {
                foreach (tsrType t in report.tsrList.tsr)
                {
                    CentiroService.CarrierServiceAttribute a = new CentiroService.CarrierServiceAttribute();
                    a.Value = t.value;
                    a.Code  = t.code;
                    tsrList.Add(a);
                }
            }

            if (tsrList.Count > 0)
            {
                request.Shipment.ModeOfTransport.CarrierServiceAttributes = (tsrList);
            }

            request.Shipment.Receiver.Address1    = report.receiver.address1;
            request.Shipment.Receiver.Address2    = report.receiver.address2;
            request.Shipment.Receiver.Address3    = report.receiver.address3;
            request.Shipment.Receiver.CellPhone   = report.receiver.cellphone;
            request.Shipment.Receiver.City        = report.receiver.city;
            request.Shipment.Receiver.Contact     = report.receiver.contact;
            request.Shipment.Receiver.CustNo      = report.receiver.custNo;
            request.Shipment.Receiver.Email       = report.receiver.email;
            request.Shipment.Receiver.ISOCountry  = report.receiver.iSOCountry;
            request.Shipment.Receiver.Name        = report.receiver.name;
            request.Shipment.Receiver.PalletRegNo = report.receiver.palletRegNo;
            request.Shipment.Receiver.Phone       = report.receiver.phone;
            request.Shipment.Receiver.State       = report.receiver.state;
            request.Shipment.Receiver.VatNo       = report.receiver.vatNo;
            request.Shipment.Receiver.ZipCode     = report.receiver.zipcode;

            /* Add sender information to address list */
            if (report.senderAddress != null)
            {
                CentiroService.Address address = new CentiroService.Address();
                address.Address1   = report.senderAddress.address1;
                address.Address2   = report.senderAddress.address2;
                address.Address3   = report.senderAddress.address3;
                address.CellPhone  = report.senderAddress.cellphone;
                address.City       = report.senderAddress.city;
                address.Code       = (CentiroService.AddressCode)Enum.Parse(typeof(CentiroService.AddressCode), report.senderAddress.code);
                address.Contact    = report.senderAddress.contact;
                address.CustNo     = report.senderAddress.custNo;
                address.Email      = report.senderAddress.email;
                address.ISOCountry = report.senderAddress.iSOCountry;
                address.Name       = report.senderAddress.name;
                address.Phone      = report.senderAddress.phone;
                address.State      = report.senderAddress.state;
                address.VatNo      = report.senderAddress.vatNo;
                address.ZipCode    = report.senderAddress.zipcode;

                request.Shipment.Addresses.Add(address);
            }
            request.MessageId = Convert.ToString(DateTime.Now.Ticks);


            return(request);
        }