Created
July 11, 2016 01:58
-
-
Save Mozu-CS/f4ff9df36a603b06be6409fac5e4fe6b to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
[TestMethod] | |
public void Create_Order_Package_And_Fulfill() | |
{ | |
var orderResource = new Mozu.Api.Resources.Commerce.OrderResource(_apiContext); | |
var packageResource = new Mozu.Api.Resources.Commerce.Orders.PackageResource(_apiContext); | |
var shipmentResource = new Mozu.Api.Resources.Commerce.Orders.ShipmentResource(_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}'", "34"); | |
var existingOrder = (orderResource.GetOrdersAsync(startIndex: 0, pageSize: 1, filter: filter).Result).Items[0]; | |
var existingOrderItems = existingOrder.Items; | |
var packageItems = new List<Mozu.Api.Contracts.CommerceRuntime.Fulfillment.PackageItem>(); | |
foreach (var orderItem in existingOrderItems) | |
{ | |
packageItems.Add(new Mozu.Api.Contracts.CommerceRuntime.Fulfillment.PackageItem() | |
{ | |
ProductCode = orderItem.Product.ProductCode, | |
Quantity = orderItem.Quantity, | |
FulfillmentItemType = "Physical" | |
}); | |
} | |
var package = new Mozu.Api.Contracts.CommerceRuntime.Fulfillment.Package() | |
{ | |
Measurements = new Mozu.Api.Contracts.CommerceRuntime.Commerce.PackageMeasurements() | |
{ | |
Height = new Mozu.Api.Contracts.Core.Measurement() | |
{ | |
Unit = "in", | |
Value = 10m | |
}, | |
Length = new Mozu.Api.Contracts.Core.Measurement() | |
{ | |
Unit = "in", | |
Value = 10m | |
}, | |
Width = new Mozu.Api.Contracts.Core.Measurement() | |
{ | |
Unit = "in", | |
Value = 10m | |
}, | |
Weight = new Mozu.Api.Contracts.Core.Measurement() | |
{ | |
Unit = "lbs", | |
Value = 10m | |
}, | |
}, | |
Items = new List<Mozu.Api.Contracts.CommerceRuntime.Fulfillment.PackageItem>(), | |
PackagingType = "CUSTOM", | |
}; | |
package.Items.AddRange(packageItems); | |
var availableShippingMethods = shipmentResource.GetAvailableShipmentMethodsAsync(existingOrder.Id).Result; | |
package.ShippingMethodCode = availableShippingMethods[0].ShippingMethodCode; | |
package.ShippingMethodName = availableShippingMethods[0].ShippingMethodName; | |
package.Code = "Package-01"; | |
var updatedPackage = packageResource.CreatePackageAsync(package, existingOrder.Id).Result; | |
var packageIds = new List<string>() { updatedPackage.Id }; | |
//var updatedPackageShipment = shipmentResource.CreatePackageShipmentsAsync(packageIds, existingOrder.Id).Result; | |
var fulfilledShipment = fulfillmentActionResource.PerformFulfillmentActionAsync( | |
new Mozu.Api.Contracts.CommerceRuntime.Fulfillment.FulfillmentAction() | |
{ | |
ActionName = "Ship", // {Ship,Fulfill} | |
DigitalPackageIds = new List<string>(), | |
PackageIds = packageIds, | |
PickupIds = new List<string>() | |
}, | |
existingOrder.Id) | |
.Result; | |
//var updatedOrder = orderResource.UpdateOrderAsync(existingOrder, existingOrder.Id).Result; | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment