/// <summary> /// 修改商品价格 /// </summary> /// <param name="item"></param> /// <param name="price"></param> public void EditPrice(ShoppingcartItem item, decimal price) { if (item == null) { throw new OrderException("指定商品不存在,不能改价!"); } if (item.Product.IsWeightProduct()) { throw new OrderException("称重商品不允许修改价格!"); } if (!item.EnableEditPrice) { throw new OrderException("后台设定该商品不允许改价!"); } if (Math.Abs(item.MarketingPrice - price) > 0.005m && item.Product.SysPrice != price) { item.ManualPrice = price; if (item.SaleState == SaleState.Gift && 0m < price)//赠品改价,如果price>0则状态自动转换为正常销售 { item.SaleState = SaleState.Normal; } else if (item.SaleState != SaleState.Gift && price == 0m)//正常商品改价,如果price==0则状态自动转换为销售赠送 { item.SaleState = SaleState.Gift; } item.EditedPrice = true; } }
/// <summary> /// 修改商品数量 /// </summary> /// <param name="item"></param> /// <param name="num"></param> public void EditProductNumber(ShoppingcartItem item, decimal num) { if (item == null) { throw new OrderException("指定商品不存在,不能修改数量!"); } if (item.Product.IsWeightProduct()) { throw new OrderException("称重商品不允许修改重量!"); } if (!item.EnableEditNum) { throw new OrderException("后台设定该商品不允许修改数量!"); } item.Number = new ProductNumber(num, item.Product.SubUnit, item.Product.IsWeightProduct()); }