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