Skip to content

Instantly share code, notes, and snippets.

@Mozu-CS
Created July 15, 2016 06:27
Show Gist options
  • Save Mozu-CS/546dd8264784931afb959fbadc04c252 to your computer and use it in GitHub Desktop.
Save Mozu-CS/546dd8264784931afb959fbadc04c252 to your computer and use it in GitHub Desktop.
public void Fulfill_Order_Pickups()
{
var orderResource = new Mozu.Api.Resources.Commerce.OrderResource(_apiContext);
var pickupResource = new Mozu.Api.Resources.Commerce.Orders.PickupResource(_apiContext);
var fulfillmentInfoResource = new Mozu.Api.Resources.Commerce.Orders.FulfillmentInfoResource(_apiContext);
var fulfillmentActionResource = new Mozu.Api.Resources.Commerce.Orders.FulfillmentActionResource(_apiContext);
var filter = string.Format("OrderNumber eq '{0}'", "39");
var existingOrder = (orderResource.GetOrdersAsync(startIndex: 0, pageSize: 1, filter: filter).Result).Items[0];
var existingOrderItems = existingOrder.Items;
var pickupItems = new List<Mozu.Api.Contracts.CommerceRuntime.Fulfillment.PickupItem>();
foreach (var orderItem in existingOrderItems)
{
pickupItems.Add(new Mozu.Api.Contracts.CommerceRuntime.Fulfillment.PickupItem()
{
ProductCode = orderItem.Product.ProductCode,
Quantity = orderItem.Quantity,
FulfillmentItemType = "Physical",
//LineId = orderItem.LineId
});
}
var pickup = new Mozu.Api.Contracts.CommerceRuntime.Fulfillment.Pickup()
{
Items = new List<Mozu.Api.Contracts.CommerceRuntime.Fulfillment.PickupItem>(),
Code = "Custom-PickUp",
FulfillmentLocationCode = "PVL-01"
};
pickup.Items.AddRange(pickupItems);
var updatedPickup = pickupResource.CreatePickupAsync(pickup, existingOrder.Id).Result;
var pickupIds = new List<string>() { updatedPickup.Id };
var fulfilledShipment = fulfillmentActionResource.PerformFulfillmentActionAsync(
new Mozu.Api.Contracts.CommerceRuntime.Fulfillment.FulfillmentAction()
{
ActionName = "Pickup",
DigitalPackageIds = new List<string>(),
PackageIds = new List<string>(),
PickupIds = pickupIds
},
existingOrder.Id)
.Result;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment