コード例 #1
0
ファイル: MemCardController.cs プロジェクト: iot369/GD-
 //会员转账
 public void MemCardTransfer()
 {
     if (!string.IsNullOrEmpty(Request.Form["TransferMoney"]) && !string.IsNullOrEmpty(Request.Form["MC_CardID"]) && !string.IsNullOrEmpty(Request.Form["OutMC_CardID"]))
     {//
         MemCards     m     = (from i in db.MemCards where i.MC_CardID == Request.Form["MC_CardID"] select i).First();
         MemCards     out_m = (from i in db.MemCards where i.MC_CardID == Request.Form["OutMC_CardID"] select i).First();
         TransferLogs t     = new TransferLogs();
         Users        u     = Session["UserInfo"] as Users;
         t.S_ID             = u.S_ID;
         t.U_ID             = u.U_ID;
         t.TL_FromMC_ID     = m.MC_ID;
         t.TL_FromMC_CardID = m.MC_CardID.ToString();
         t.TL_ToMC_ID       = out_m.MC_ID;
         t.TL_ToMC_CardID   = out_m.MC_CardID.ToString();
         t.TL_TransferMoney = decimal.Parse(Request.Form["TransferMoney"]);
         t.TL_Remark        = (Request.Form["Remark"] ?? "");
         t.TL_CreateTime    = DateTime.Now;
         m.MC_Point        -= Convert.ToInt32(t.TL_TransferMoney);
         out_m.MC_Point    += Convert.ToInt32(t.TL_TransferMoney);
         try
         {
             db.TransferLogs.InsertOnSubmit(t);
             db.SubmitChanges();
             Response.Write("转账成功!");
         }
         catch (Exception ex)
         {
             Response.Write("异常:转账失败,错误消息:" + ex.Message);
         }
     }
     else
     {
         Response.Write("异常:参数不全");
     }
 }
コード例 #2
0
        // 会员转账页面
        public ActionResult MemberTransfer(int RollMC_ID, string RollCardID, float RollMC_TotalMoney, int ShiftMC_ID, string ShiftCardID, decimal TL_TransferMoney, string TL_Remark, DateTime TL_CreateTime)
        {
            var jf = Convert.ToInt32(RollMC_TotalMoney);

            using (TransactionScope transaction = new TransactionScope())//使用事务
            {
                try
                {
                    //修改转出的会员信息
                    MemCards mc = mpms.MemCards.FirstOrDefault(x => x.MC_ID == RollMC_ID);
                    mc.MC_Point -= jf;
                    if (mc.MC_Point < 0)
                    {
                        return(Json(false, JsonRequestBehavior.AllowGet));
                    }
                    mc.MC_TotalMoney += RollMC_TotalMoney;
                    mc.MC_TotalCount += 1;

                    mpms.Entry <MemCards>(mc).State = System.Data.Entity.EntityState.Modified;


                    //在转账记录表插入一条记录
                    TransferLogs tr = new TransferLogs
                    {
                        S_ID             = (Session["Users"] as Users).S_ID,
                        U_ID             = (Session["Users"] as Users).U_ID,
                        TL_FromMC_ID     = RollMC_ID,
                        TL_FromMC_CardID = RollCardID,
                        TL_ToMC_ID       = ShiftMC_ID,
                        TL_ToMC_CardID   = ShiftCardID,
                        TL_TransferMoney = TL_TransferMoney,
                        TL_Remark        = TL_Remark,
                        TL_CreateTime    = TL_CreateTime
                    };
                    mpms.TransferLogs.Add(tr);

                    //修改转入的会员信息
                    MemCards zr = mpms.MemCards.FirstOrDefault(x => x.MC_ID == ShiftMC_ID);
                    zr.MC_Point += jf;

                    mpms.Entry <MemCards>(zr).State = System.Data.Entity.EntityState.Modified;

                    transaction.Complete();//放在catch上面,否则不能回滚
                }
                catch
                {
                }
            }

            return(Json(mpms.SaveChanges() > 2, JsonRequestBehavior.AllowGet));
        }
コード例 #3
0
ファイル: TransferLogsDAL.cs プロジェクト: hyf1029/code
        public bool InsertTransferLog(TransferLogs t)
        {
            string sql = "P_InsertTransferLogs";

            SqlParameter[] para =
            {
                new SqlParameter("@S_ID",             t.S_ID),
                new SqlParameter("@U_ID",             t.U_ID),
                new SqlParameter("@TL_FromMC_ID",     t.TL_FromMC_ID),
                new SqlParameter("@TL_FromMC_CardID", t.TL_FromMC_CardID),
                new SqlParameter("@TL_ToMC_ID",       t.TL_ToMC_ID),
                new SqlParameter("@TL_ToMC_CardID",   t.TL_ToMC_CardID),
                new SqlParameter("@TL_TransferMoney", t.TL_TransferMoney),
                new SqlParameter("@TL_Remark",        t.TL_Remark),
                new SqlParameter("@TL_CreateTime",    t.TL_CreateTime)
            };
            return(DBHelper.ExecuteNonQuery(sql, true, para));
        }
コード例 #4
0
        protected override void ExecuteQueryCommand()
        {
            IsBusy = true;
            TransferLogs.Clear();

            Action action = () => CommunicateManager.Invoke <IAccountService>(p =>
            {
                var dataPack = p.FindTransferAccountsLog(StartTime, EndTime, (CurrentPageIndex - 1) * PageSize, PageSize, OutTradeNo);
                TotalCount   = dataPack.TotalCount;

                foreach (var item in dataPack.List)
                {
                    DispatcherHelper.UIDispatcher.Invoke(new Action <TransferAccountsLogDto>(TransferLogs.Add), item);
                }
            }, UIManager.ShowErr);

            Task.Factory.StartNew(action).ContinueWith(task =>
            {
                Action setAction = () => { IsBusy = false; };
                DispatcherHelper.UIDispatcher.Invoke(setAction);
            });
        }
コード例 #5
0
 public bool InsertTransferLog(TransferLogs t)
 {
     return(_ITransferLogsDAL.InsertTransferLog(t));
 }