/// <summary> /// 编辑物品 /// </summary> /// <param name="userFromCookie"></param> /// <param name="context"></param> private void EditGoods(DriveMgr.Model.User userFromCookie, HttpContext context) { if (userFromCookie != null && new DriveMgr.BLL.Authority().IfAuthority("goods", "edit", userFromCookie.Id)) { int id = Convert.ToInt32(context.Request.Params["id"]); DriveMgr.Model.GoodsModel goodsEdit = goodsBll.GetGoodsModel(id); string ui_goods_GoodsName_edit = context.Request.Params["ui_goods_GoodsName_edit"] ?? ""; int ui_goods_GoodsCategory_edit = Int32.Parse(context.Request.Params["ui_goods_GoodsCategory_edit"]); int ui_goods_MinQuantity_edit = Int32.Parse(context.Request.Params["ui_goods_MinQuantity_edit"]); int ui_goods_MaxQuantity_edit = Int32.Parse(context.Request.Params["ui_goods_MaxQuantity_edit"]); int ui_goods_RealQuantity_edit = Int32.Parse(context.Request.Params["ui_goods_RealQuantity_edit"]); string ui_goods_Specification_edit = context.Request.Params["ui_goods_Specification_edit"] ?? ""; string ui_goods_Remark_edit = context.Request.Params["ui_goods_Remark_edit"] ?? ""; goodsEdit.GoodsName = ui_goods_GoodsName_edit.Trim(); goodsEdit.GoodsCategoryID = ui_goods_GoodsCategory_edit; goodsEdit.MinQuantity = ui_goods_MinQuantity_edit; goodsEdit.MaxQuantity = ui_goods_MaxQuantity_edit; goodsEdit.RealQuantity = ui_goods_RealQuantity_edit; goodsEdit.Specification = ui_goods_Specification_edit.Trim(); goodsEdit.Remark = ui_goods_Remark_edit.Trim(); goodsEdit.UpdatePerson = userFromCookie.UserId; goodsEdit.UpdateDate = DateTime.Now; if (goodsBll.UpdateGoods(goodsEdit)) { userOperateLog.OperateInfo = "修改物品"; userOperateLog.IfSuccess = true; userOperateLog.Description = "修改成功,物品主键:" + goodsEdit.Id; context.Response.Write("{\"msg\":\"修改成功!\",\"success\":true}"); } else { userOperateLog.OperateInfo = "修改物品"; userOperateLog.IfSuccess = false; userOperateLog.Description = "修改失败"; context.Response.Write("{\"msg\":\"修改失败!\",\"success\":false}"); } } else { userOperateLog.OperateInfo = "修改物品"; userOperateLog.IfSuccess = false; userOperateLog.Description = "无权限,请联系管理员"; context.Response.Write("{\"msg\":\"无权限,请联系管理员!\",\"success\":false}"); } DriveMgr.BLL.UserOperateLog.InsertOperateInfo(userOperateLog); }
private void AddEnterStoreHouseDetails(DriveMgr.Model.User userFromCookie, HttpContext context) { GoodsBLL goodsBll = new GoodsBLL(); EnterStoreHouseBLL enterStoreHouseBLL = new EnterStoreHouseBLL(); string enterDetail = "[" + context.Request.Params["enterDetailStr"].Trim(',') + "]"; JavaScriptSerializer serializer = new JavaScriptSerializer(); List <EnterStoreHouseDetailsModel> enterStoreHouseDetailsModelList = serializer.Deserialize <List <EnterStoreHouseDetailsModel> >(enterDetail); EnterStoreHouseModel enterStoreHouseAdd = new EnterStoreHouseModel(); enterStoreHouseAdd.EnterDate = DateTime.Now; enterStoreHouseAdd.HandlePerson = userFromCookie.UserId; enterStoreHouseAdd.CreateDate = DateTime.Now; enterStoreHouseAdd.CreatePerson = userFromCookie.UserId; enterStoreHouseAdd.UpdatePerson = userFromCookie.UserId; enterStoreHouseAdd.UpdateDate = DateTime.Now; enterStoreHouseAdd.DeleteMark = false; int enterStoreHouseID = enterStoreHouseBLL.AddEnterStoreHouse(enterStoreHouseAdd); foreach (EnterStoreHouseDetailsModel model in enterStoreHouseDetailsModelList) { EnterStoreHouseDetailsModel newEnterStoreHouseDetailsModel = new EnterStoreHouseDetailsModel(); newEnterStoreHouseDetailsModel.GoodsID = model.GoodsID; newEnterStoreHouseDetailsModel.EnterQuantity = model.EnterQuantity; newEnterStoreHouseDetailsModel.EnterStoreHouseID = enterStoreHouseID; newEnterStoreHouseDetailsModel.DeleteMark = false; if (enterStoreHouseDetailsBll.AddEnterStoreHouseDetails(newEnterStoreHouseDetailsModel)) //添加入库明细 { GoodsModel goodsModel = goodsBll.GetGoodsModel(newEnterStoreHouseDetailsModel.GoodsID.Value); goodsModel.RealQuantity += newEnterStoreHouseDetailsModel.EnterQuantity; goodsBll.UpdateGoods(goodsModel); //更新物品数量 } } context.Response.Write("{\"msg\":\"入库成功!\",\"success\":true}"); }
private void AddOutStoreHouseDetails(DriveMgr.Model.User userFromCookie, HttpContext context) { GoodsBLL goodsBll = new GoodsBLL(); OutStoreHouseBLL outStoreHouseBLL = new OutStoreHouseBLL(); string outDetailStr = "[" + context.Request.Params["outDetailStr"].Trim(',') + "]"; JavaScriptSerializer serializer = new JavaScriptSerializer(); List <OutStoreHouseDetailsModel> outStoreHouseDetailsModelList = serializer.Deserialize <List <OutStoreHouseDetailsModel> >(outDetailStr); OutStoreHouseModel outStoreHouseAdd = new OutStoreHouseModel(); outStoreHouseAdd.OutDate = DateTime.Now; outStoreHouseAdd.HandlePerson = userFromCookie.UserId; outStoreHouseAdd.CreateDate = DateTime.Now; outStoreHouseAdd.CreatePerson = userFromCookie.UserId; outStoreHouseAdd.UpdatePerson = userFromCookie.UserId; outStoreHouseAdd.UpdateDate = DateTime.Now; outStoreHouseAdd.DeleteMark = false; int outStoreHouseID = outStoreHouseBLL.AddOutStoreHouse(outStoreHouseAdd); foreach (OutStoreHouseDetailsModel model in outStoreHouseDetailsModelList) { OutStoreHouseDetailsModel newOutStoreHouseDetailsModel = new OutStoreHouseDetailsModel(); newOutStoreHouseDetailsModel.GoodsID = model.GoodsID; newOutStoreHouseDetailsModel.OutQuantity = model.OutQuantity; newOutStoreHouseDetailsModel.OutStoreHouseID = outStoreHouseID; newOutStoreHouseDetailsModel.DeleteMark = false; if (outStoreHouseDetailsBll.AddOutStoreHouseDetails(newOutStoreHouseDetailsModel)) //添加入库明细 { GoodsModel goodsModel = goodsBll.GetGoodsModel(newOutStoreHouseDetailsModel.GoodsID.Value); goodsModel.RealQuantity -= newOutStoreHouseDetailsModel.OutQuantity; goodsBll.UpdateGoods(goodsModel); //更新物品数量 } } context.Response.Write("{\"msg\":\"出库成功!\",\"success\":true}"); }
/// <summary> /// 兑换商品 /// </summary> /// <param name="userName"></param> /// <param name="goodsID"></param> /// <param name="goodsNum"></param> /// <returns></returns> public static bool ExchangeGoods(string userName, int goodsID, int goodsNum, string address, string realName, string phone, out string msg) { msg = ""; bool success = false; //判断点数是否足够 //判断商品数量是否足够 //商品数量减去购买数量 //用户已使用点数增加 //写入消费记录 using (DbConnection conn = Db.Helper.CreateConnection()) { conn.ConnectionString = Db.Helper.ConnectionString; conn.Open(); DbTransaction tran = conn.BeginTransaction(System.Data.IsolationLevel.Serializable); try { var user = Select(userName, tran); if (user == null) { msg = "用户不存在!"; return(false); } var goods = GoodsBLL.SelectGoods(goodsID, tran); if (goods == null) { msg = "商品不存在!"; return(false); } if (goods.Num <= 0) { msg = "商品已被兑换完!"; return(false); } if (goods.Num < goodsNum) { msg = "商品库存不足!"; return(false); } int remainPoints = user.TotalPoints - user.UsedPoints; int pointsCost = goods.Points * goodsNum; if (remainPoints < pointsCost) { msg = "点数不足!"; return(false); } goods.Num = goods.Num - goodsNum; user.UsedPoints = user.UsedPoints + pointsCost; CostHistoryInfo model = new CostHistoryInfo(); model.AddTime = DateTime.Now; model.CostType = CostType.Exchange; model.GoodsID = goodsID; model.GoodsName = goods.Name; model.GoodsNum = goodsNum; model.MoneyAfter = user.TotalCost; model.MoneyBefore = user.TotalCost; model.OrderNum = ""; model.MoneyCost = 0M; model.PointsAfter = user.TotalPoints - user.UsedPoints; model.PointsBefore = remainPoints; model.PointsCost = pointsCost; model.ExchangeStatus = ExchangeStatus.WaitingSend; model.SendTime = GlobalSetting.MinTime; model.FinishTime = GlobalSetting.MinTime; model.ExpressName = ""; model.ExpressNum = ""; model.LinkAddress = address; model.LinkMan = realName; model.LinkPhone = phone; model.Remarks = ""; model.UserName = userName; GoodsBLL.UpdateGoods(goods, tran); MemberBLL.Update(user, tran); MemberBLL.AddCostHistory(model, tran); tran.Commit(); msg = "操作成功!"; success = true; } catch (Exception ex) { tran.Rollback(); msg = ex.Message; success = false; } } return(success); }
protected void btnSubmit_Click(object sender, EventArgs e) { int id = GetGoodsID(); string name = tbName.Text.Trim(); int cid = ddlCat.SelectedValue.ToArrowInt(); int point = tbPoints.Text.Trim().ToArrowInt(); int num = tbNum.Text.Trim().ToArrowInt(); string cover = tbCoverPath.Text.Trim(); string remarks = tbRemarks.Text.Trim(); if (name.ValidateIsNullOrEmpty("请输入商品名称!")) { return; } if ((cid == 0).ValidateSuccess("请先选择分类!")) { return; } if ((point == 0).ValidateSuccess("兑换点数必须大于0!")) { return; } if ((num == 0).ValidateSuccess("数量必须大于0!")) { return; } if (id == 0) { var model = new TMS.GoodsInfo(); model.AddTime = DateTime.Now; model.AddUserName = CurrentAdmin.UserName; model.AddUserRealName = CurrentAdmin.RealName; model.BigPicPath = ""; model.CatID = cid; model.CoverPath = cover; model.IsOut = 0; model.Name = name; model.Num = num; model.Points = point; model.Remarks = remarks; GoodsBLL.AddGoods(model); tbName.Text = ""; tbPoints.Text = ""; tbNum.Text = ""; tbCoverPath.Text = ""; tbRemarks.Text = ""; MessageBox.Show("添加成功!"); } else { var model = GoodsBLL.SelectGoods(id); if (model != null) { model.Name = name; model.CatID = cid; model.CoverPath = cover; model.Num = num; model.Points = point; model.Remarks = remarks; GoodsBLL.UpdateGoods(model); MessageBox.Show("修改成功!"); } } }