Пример #1
0
        /// <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}");
        }
Пример #4
0
    /// <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);
    }
Пример #5
0
    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("修改成功!");
            }
        }
    }