public static PriceCalculationContext CreateFrom(ShoppingCart cart)
{
var context = new PriceCalculationContext
{
Customer = cart.Customer,
CouponCode = cart.CouponCode,
BillingAddress = cart.BillingAddress,
ShippingAddress = cart.ShippingAddress,
ShippingMethod = cart.ShippingMethod
};
foreach (var item in cart.Items)
{
context.AddItem(item.Id, item.ProductVariant, item.Quantity);
}
return context;
}