public static PromotionProductEntry ToPromotionItem(this Product product) { var promoItem = new PromotionProductEntry(); promoItem.InjectFrom(product); if (product.Price != null) { promoItem.Discount = product.Price.ActiveDiscount != null ? (double)product.Price.ActiveDiscount.Amount.Amount : 0; promoItem.Price = (double)product.Price.SalePrice.Amount; } promoItem.ProductId = product.Id; promoItem.Quantity = 1; promoItem.Variations = product.Variations.Select(v => v.ToPromotionItem()).ToList(); return promoItem; }
public static PromotionProductEntry ToPromotionItem(this LineItem lineItem) { var promoItem = new PromotionProductEntry(); promoItem.InjectFrom(lineItem); promoItem.Discount = (double)lineItem.DiscountTotal.Amount; promoItem.Price = (double)lineItem.PlacedPrice.Amount; promoItem.Quantity = lineItem.Quantity; promoItem.Variations = null; // TODO return promoItem; }