/// <summary>
            /// Looks up for shipments in AX.
            /// </summary>
            /// <param name="request">The request.</param>
            /// <returns>The collection of <see cref="Shipment"/> items.</returns>
            private static EntityDataServiceResponse <Shipment> GetShipments(GetShipmentsRealtimeRequest request)
            {
                var transactionClient = new TransactionService.TransactionServiceClient(request.RequestContext);
                PagedResult <Shipment> shipmentInfo = transactionClient.GetShipments(request.SalesId, request.ShipmentId);

                return(new EntityDataServiceResponse <Shipment>(shipmentInfo));
            }
            /// <summary>
            /// Reads the shipping information from AX database.
            /// </summary>
            /// <param name="request">The request.</param>
            /// <returns>The shipment data.</returns>
            private static GetShipmentsServiceResponse GetShipments(GetShipmentsServiceRequest request)
            {
                if (request.SalesId == null)
                {
                    throw new ArgumentNullException("request", "request.SalesId");
                }

                var getShipmentsRealtimeRequest = new GetShipmentsRealtimeRequest(request.SalesId, request.ShipmentId);
                var shipments = request.RequestContext.Execute <EntityDataServiceResponse <Shipment> >(getShipmentsRealtimeRequest).PagedEntityCollection;

                // Populate latest tracking info from carrier for all the shipments if the flag was set.
                if (request.GetTrackingInfo && shipments.Results.Any())
                {
                    PopulateTrackingInfo(shipments.Results, request.RequestContext);
                }

                return(new GetShipmentsServiceResponse(shipments));
            }