private OrderPackage ShipItems(Commerce.Orders.Order o, string trackingNumber, string serviceProvider, string serviceCode) { var p = new OrderPackage { ShipDateUtc = DateTime.UtcNow, TrackingNumber = trackingNumber, ShippingProviderId = serviceProvider, ShippingProviderServiceCode = serviceCode }; foreach (var li in o.Items) { if (li != null) { var qty = li.Quantity; p.Items.Add(new OrderPackageItem(li.ProductId, li.Id, qty)); p.Weight += li.ProductShippingWeight * qty; } } p.WeightUnits = WebAppSettings.ApplicationWeightUnits; o.Packages.Add(p); HccApp.OrdersShipPackage(p, o); o.EvaluateCurrentShippingStatus(); HccApp.OrderServices.Orders.Update(o); return(p); }
/// <summary> /// return the sum of all discounts for a given order /// </summary> /// <param name="order"></param> /// <returns></returns> private decimal TotalOrderDiscounts(Commerce.Orders.Order order) { decimal discounts = 0; //order discounts discounts += order.TotalOrderDiscounts; foreach (var discount in order.ShippingDiscountDetails) { discounts += discount.Amount; } foreach (var lineitem in order.Items) { foreach (var discount in lineitem.DiscountDetails) { discounts += discount.Amount; } } return(discounts); }