Как генерировать метки возврата, когда ProcessShipmenReply в FEDEX c #? - PullRequest
0 голосов
/ 25 апреля 2019

Я должен напечатать метки возврата, когда ProcessShipmentReply заканчивается в веб-сервисах FEDEX.
У меня уже есть этикетки для отправки, но теперь мне нужны возвратные этикетки.

Я настроил следующее:

 ShipmentSpecialServiceType[] shipmentSpecialServiceType = new ShipmentSpecialServiceType[1];
            shipmentSpecialServiceType[0] = ShipmentSpecialServiceType.RETURN_SHIPMENT;
            request.RequestedShipment.SpecialServicesRequested = new ShipmentSpecialServicesRequested();
            request.RequestedShipment.SpecialServicesRequested.SpecialServiceTypes = shipmentSpecialServiceType;
            request.RequestedShipment.SpecialServicesRequested.ReturnShipmentDetail = new ReturnShipmentDetail();
            request.RequestedShipment.SpecialServicesRequested.ReturnShipmentDetail.ReturnType = ReturnType.PRINT_RETURN_LABEL;

Я думаю, что мне нужно что-то еще в методе ответа, но я не могу понять это. Следующий блок - это метод ответа:

private void ShowShipmentReply (ProcessShipmentReply ответить, bool isCodShipment) {

foreach (CompletedPackageDetail packageDetail in reply.CompletedShipmentDetail.CompletedPackageDetails) { ShowTrackingDetails (packageDetail.TrackingIds); if (null! = packageDetail.PackageRating && null! = packageDetail.PackageRating.PackageRateDetails) { ShowPackageRateDetails (packageDetail.PackageRating.PackageRateDetails); } еще { Console.WriteLine («Информация о ставке не возвращается.»); } if (null! = packageDetail.Label.Parts [0] .Image) { // Сохранить ярлык исходящей доставки string LabelPath = "C: \ Users \ cma2tl \ Documents \ FedexLabelsTest \";

                string LabelFileName = LabelPath + packageDetail.TrackingIds[0].TrackingNumber + ".pdf";
                SaveLabel(LabelFileName, packageDetail.Label.Parts[0].Image);
                if (isCodShipment)
                {
                    if (null != packageDetail.CodReturnDetail.Label.Parts[0].Image)
                    {
                        // Save outbound shipping label

                        LabelFileName = LabelPath + packageDetail.TrackingIds[0].TrackingNumber + "_COD.pdf";
                        SaveLabel(LabelFileName, packageDetail.CodReturnDetail.Label.Parts[0].Image);
                    }
                }
            }

            ShowBarcodeDetails(packageDetail.OperationalDetail.Barcodes);
        }
        ShowPackageRouteDetails(reply.CompletedShipmentDetail.OperationalDetail);
...