Пример #1
0
 /// <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;
     }
 }
Пример #2
0
        /// <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());
        }