public ActionResult StockDecrement() { PointCommodityStockAdjustmentArgs args = RequestArgs <PointCommodityStockAdjustmentArgs>(); if (args == null) { return(RespondResult(false, "参数无效。")); } int stock = _pointCommodityManager.StockDecrement(args); #region 操作日志 _operatedLogManager.Create(new OperatedLogEntity() { Domain = DomainContext.Domain.Id, AppId = DomainContext.AppId, User = UserContext.User.Id, IP = Request.UserHostAddress, Module = EnumModule.PointCommodity, Description = "消减库存" }); #endregion return(RespondDataResult(new { Stock = stock })); }
/// <summary> /// 返回调整后的最新库存数量 /// </summary> /// <param name="args"></param> /// <returns></returns> public int StockDecrement(PointCommodityStockAdjustmentArgs args) { List <CommandParameter> parameterList = new List <CommandParameter>(); parameterList.Add(new CommandParameter("@id", args.Id)); parameterList.Add(new CommandParameter("@quantity", args.Quantity)); _dataBase.ExecuteNonQuery("UPDATE [PointCommodity] SET [Stock] = [Stock] - @quantity WHERE [Id] = @id", parameterList); object objStock = _dataBase.ExecuteScalar("SELECT [Stock] FROM [PointCommodity] 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 [PointCommodity] SET [Stock] = 0 WHERE [Id] = @id", parameterList); stock = 0; } return(stock); } }