/// <summary>
        /// 返回调整后的最新库存数量
        /// </summary>
        /// <param name="args"></param>
        /// <returns></returns>
        public int StockDecrement(CouponStockAdjustmentArgs args)
        {
            List <CommandParameter> parameterList = new List <CommandParameter>();

            parameterList.Add(new CommandParameter("@id", args.Id));
            parameterList.Add(new CommandParameter("@quantity", args.Quantity));

            _dataBase.ExecuteNonQuery("UPDATE [Coupon] SET [Stock] = [Stock] - @quantity WHERE [Id] = @id", parameterList);

            object objStock =
                _dataBase.ExecuteScalar("SELECT [Stock] FROM [Coupon] WHERE [Id] = @id", parameterList);

            if (objStock == null || objStock == DBNull.Value)
            {
                return(0);
            }
            else
            {
                int stock = int.Parse(objStock.ToString());
                if (stock < 0)
                {
                    _dataBase.ExecuteNonQuery("UPDATE [Coupon] SET [Stock] = 0 WHERE [Id] = @id", parameterList);
                    stock = 0;
                }
                return(stock);
            }
        }
Ejemplo n.º 2
0
        public ActionResult StockDecrement()
        {
            CouponStockAdjustmentArgs args = RequestArgs <CouponStockAdjustmentArgs>();

            if (args == null)
            {
                return(RespondResult(false, "参数无效。"));
            }

            int stock = _couponManager.StockDecrement(args);

            #region 操作日志

            _operatedLogManager.Create(new OperatedLogEntity()
            {
                Domain      = DomainContext.Domain.Id,
                AppId       = DomainContext.AppId,
                User        = UserContext.User.Id,
                IP          = Request.UserHostAddress,
                Module      = EnumModule.Coupon,
                Description = "消减库存"
            });

            #endregion

            return(RespondDataResult(new
            {
                Stock = stock
            }));
        }