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); } }
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); }