/// <summary> /// 获取商品优惠小计 /// </summary> /// <param name="item"></param> /// <returns></returns> public static decimal ItemDiscount(this IOrderItem item) { if (item == null) { throw new OrderException("获取商品优惠小计失败,商品不能为空!"); } if (item.EditedPrice && item.Product.SysPrice > item.ManualPrice) { return((item.Product.SysPrice - item.ManualPrice) * item.Number.UnitNumber); } else if (item.HasMarketingPrice() && item.Product.SysPrice > item.MarketingPrice) { return((item.Product.SysPrice - item.MarketingPrice) * item.Number.UnitNumber); } return(0); }
/// <summary> /// 获取销售价 /// </summary> /// <param name="item"></param> /// <returns></returns> public static decimal GetItemPrice(this IOrderItem item) { if (item == null) { throw new OrderException("获取商品销售价失败,商品不能为空!"); } if (item.EditedPrice) { return(item.ManualPrice); } else if (item.HasMarketingPrice()) { return(item.MarketingPrice); } else { return(item.Product.SysPrice); } }
/// <summary> /// 获取商品小计 /// </summary> /// <param name="item"></param> /// <returns></returns> public static decimal Subtotal(this IOrderItem item) { if (item == null) { throw new OrderException("获取商品小计失败,商品不能为空!"); } if (item.EditedPrice) { return(item.ManualPrice * item.Number.UnitNumber); } else if (item.HasMarketingPrice()) { return(item.MarketingPrice * item.Number.UnitNumber); } else { return(item.Product.SysPrice * item.Number.UnitNumber); } }