public static bool AddTransaction(PaymentOrderModel trans) { try { ApplicationDbContext ctx = new ApplicationDbContext(); ctx.PaymentOrder.Add(trans); ClientModel account = ctx.Clients.Find(trans.ClientId); if (trans.TransType == "Vklad") { account.Balance += trans.TransAmount; } else { account.Balance -= trans.TransAmount; } if (account.Balance < 0) { return(false); } ctx.SaveChanges(); return(true); } catch (Exception ex) { HttpContext.Current.Trace.Write("ClientDAL.AddTransaction() --> " + ex.Message); return(false); } }
/// <summary> /// web 账户充值(第三方充值成功) /// </summary> /// <param name="RechargeAmount">充值金额</param> /// <param name="Radiochecked">第三方充值方式通道</param> /// <param name="UserID">用户ID</param> /// <param name="Account">登录名</param> /// <param name="AddOrCutType">充值类型(账户充值1)</param> /// <param name="OrderNo">订单编号</param> /// <param name="OrderSource">来源0:网站,1移动设备</param> /// <returns></returns> public ResultModel AccountRechargeWebs(AccountRechargeModel armodel) { var result = new ResultModel(); #region 用户余额信息表 和其对应的资金流水账 //用户余额信息表(前台) ZJ_UserBalanceModel zjubModel = new ZJ_UserBalanceModel(); zjubModel.UserID = armodel.UserID; zjubModel.UpdateBy = "前台账户自己充值"; zjubModel.UpdateDT = DateTime.Now; //用户账户金额异动记录表(资金流水账) ZJ_UserBalanceChangeLogModel zjublModel = new ZJ_UserBalanceChangeLogModel(); zjublModel.Account = armodel.Account; zjublModel.AddOrCutAmount = armodel.AddOrCutAmount; zjublModel.AddOrCutType = armodel.AddOrCutType; zjublModel.CreateBy = armodel.Account == null ? "前台登录名为空" : armodel.Account; zjublModel.CreateDT = DateTime.Now; if (armodel.AddOrCutAmount >= 0) { zjublModel.IsAddOrCut = 1; } else { zjublModel.IsAddOrCut = 0; } zjublModel.IsDisplay = 1; zjublModel.OrderNo = armodel.OrderNo; zjublModel.Remark = "前台账户充值"; zjublModel.UserID = armodel.UserID; #endregion #region 用户充值订单 //用户充值订单 ZJ_RechargeOrderModel zjroModel = new ZJ_RechargeOrderModel(); zjroModel.OrderNO = armodel.OrderNo; zjroModel.RechargeResult = 1; #endregion #region 订单支付信息表 //订单支付信息表 PaymentOrderModel poModel = new PaymentOrderModel(); poModel.PaymentOrderID = armodel.PaymentOrderID; poModel.Flag = 2; poModel.outOrderId = armodel.outOrderId; #endregion result = AccountRechargeWeb(zjubModel, zjublModel, poModel, zjroModel, zjublModel); return(result); }
public ActionResult CreatePaymentOrder(PaymentOrderModel model) { bool done = ClientDAL.AddTransaction(model); if (done) { ModelState.Clear(); model = new PaymentOrderModel(); ViewBag.Message = "Vytvorenie transakcie bolo úspešné!"; } else { ViewBag.Message = "Nastala chyba! Vytvorenie transakcie bolo neúspešné! Nemáte dostatočné prostriedky na vykonanie transakcie."; } return(View(model)); }
/// <summary> /// 添加 用户充值订单表(第三方用户没有返汇前添加) /// </summary> /// <param name="RechargeAmount">充值金额</param> /// <param name="Radiochecked">第三方充值方式通道</param> /// <param name="UserID">用户ID</param> /// <param name="OrderSource">来源0:网站,1移动设备</param> /// <param name="OrderNO">用户充值订单表ID</param> /// <param name="PaymentOrderID">订单支付信息表ID</param> /// <returns></returns> public ResultModel InsertAddZJ_RechargeOrder(AccountRechargeModel armodel, ERechargeOrderPrefix prefix, out string OrderNO, out string PaymentOrderID) { var result = new ResultModel(); #region 用户充值订单表 ZJ_RechargeOrderModel zjroModel = new ZJ_RechargeOrderModel(); zjroModel.CreateDT = DateTime.Now; zjroModel.IsDisplay = 1; zjroModel.OrderNO = EnumDescription.GetFieldText(prefix) + MemCacheFactory.GetCurrentMemCache().Increment("commonId").ToString();//这里是为了区分商品订单还是充值订单 zjroModel.OrderSource = armodel.OrderSource; zjroModel.RechargeAmount = armodel.AddOrCutAmount; zjroModel.RechargeChannel = armodel.RechargeChannel; zjroModel.RechargeDT = DateTime.Now; zjroModel.RechargeResult = 0;//默认是失败的 zjroModel.UserID = armodel.UserID; OrderNO = zjroModel.OrderNO; #endregion #region 订单支付信息表 //订单支付信息表 PaymentOrderModel poModel = new PaymentOrderModel(); poModel.Flag = 1; poModel.outOrderId = ""; poModel.PaymentDate = DateTime.Now; poModel.PaymentOrderID = MemCacheFactory.GetCurrentMemCache().Increment("commonId").ToString(); poModel.PayType = 2;//支付类型(1:商城订单支付,2充值支付) poModel.ProductAmount = armodel.AddOrCutAmount; poModel.RealAmount = armodel.AddOrCutAmount; poModel.UserID = armodel.UserID; poModel.CreateDT = DateTime.Now; poModel.PayChannel = armodel.RechargeChannel; //订单支付信息与订单关联记录表 PaymentOrder_OrdersModel pooModel = new PaymentOrder_OrdersModel(); pooModel.OrderID = zjroModel.OrderNO; pooModel.RelateID = MemCacheFactory.GetCurrentMemCache().Increment("commonId"); pooModel.PaymentOrderID = poModel.PaymentOrderID; #endregion result = _zjUserBalanceServiceWeb.AccountRechargeFailure(zjroModel, pooModel, poModel); PaymentOrderID = poModel.PaymentOrderID; return(result); }
/// <summary> /// web 账户充值(第三方充值成功) /// </summary> /// <param name="RechargeAmount">充值金额</param> /// <param name="Radiochecked">第三方充值方式通道</param> /// <param name="UserID">用户ID</param> /// <param name="Account">登录名</param> /// <param name="AddOrCutType">充值类型(账户充值1)</param> /// <param name="OrderNo">订单编号</param> /// <param name="OrderSource">来源0:网站,1移动设备</param> /// <returns></returns> public ResultModel AccountRechargeWeb(AccountRechargeModel armodel) { var result = new ResultModel(); #region 用户余额信息表 和其对应的资金流水账 //用户余额信息表(前台) ZJ_UserBalanceModel zjubModel = new ZJ_UserBalanceModel(); zjubModel.UserID = armodel.UserID; zjubModel.UpdateBy = "前台账户自己充值"; zjubModel.UpdateDT = DateTime.Now; //用户账户金额异动记录表(资金流水账) ZJ_UserBalanceChangeLogModel zjublModel = new ZJ_UserBalanceChangeLogModel(); zjublModel.Account = armodel.Account; zjublModel.AddOrCutAmount = armodel.AddOrCutAmount; zjublModel.AddOrCutType = armodel.AddOrCutType; zjublModel.CreateBy = armodel.Account == null ? "前台登录名为空" : armodel.Account; zjublModel.CreateDT = DateTime.Now; if (armodel.AddOrCutAmount >= 0) { zjublModel.IsAddOrCut = 1; } else { zjublModel.IsAddOrCut = 0; } zjublModel.IsDisplay = 1; zjublModel.OrderNo = armodel.OrderNo; zjublModel.Remark = "前台账户充值"; zjublModel.UserID = armodel.UserID; #endregion #region 用户充值订单 //用户充值订单 ZJ_RechargeOrderModel zjroModel = new ZJ_RechargeOrderModel(); zjroModel.OrderNO = armodel.OrderNo; zjroModel.RechargeResult = 1; #endregion #region 订单支付信息表 //订单支付信息表 PaymentOrderModel poModel = new PaymentOrderModel(); poModel.PaymentOrderID = armodel.PaymentOrderID; poModel.Flag = 2; poModel.outOrderId = armodel.outOrderId; //poModel.outOrderId = armodel.OrderNo; //poModel.PaymentDate = DateTime.Now; //poModel.PayType = 1; //poModel.ProductAmount = armodel.AddOrCutAmount; //poModel.RealAmount = armodel.AddOrCutAmount; //poModel.UserID = armodel.UserID; ////订单支付信息与订单关联记录表 //PaymentOrder_OrdersModel pooModel = new PaymentOrder_OrdersModel(); //pooModel.OrderID = armodel.OrderNo; //pooModel.RelateID = MemCacheFactory.GetCurrentMemCache().Increment("commonId"); #endregion result = _zjUserBalanceServiceWeb.AccountRechargeWeb(zjubModel, zjublModel, poModel, zjroModel, zjublModel); return(result); }
public ActionResult CreatePaymentOrder() { PaymentOrderModel model = new PaymentOrderModel(); return(View(model)); }
/// <summary> ///添加订单支付信息 /// </summary> /// <param name="poomodel">订单支付信息与订单关联记录表model</param> /// <param name="pomodel">订单支付信息表model</param> /// <param name="tx"></param> public void InsertPaymentOrder(PaymentOrder_OrdersModel poomodel, PaymentOrderModel pomodel, dynamic tx) { tx.PaymentOrder.Insert(pomodel); poomodel.PaymentOrderID = pomodel.PaymentOrderID; tx.PaymentOrder_Orders.Insert(poomodel); }
/// <summary> /// web 账户充值(没有跳转到第三方前) /// </summary> /// <param name="zjoModel">用户充值订单表</param> /// <param name="poomodel">订单支付信息与订单关联记录表</param> /// <param name="pomodel">订单支付信息表</param> /// <returns></returns> public ResultModel AccountRechargeFailure(ZJ_RechargeOrderModel zjoModel, PaymentOrder_OrdersModel poomodel, PaymentOrderModel pomodel) { var result = new ResultModel(); using (var tx1 = _database.Db.BeginTransaction()) { try { InserZJ_RechargeOrder(zjoModel, tx1); InsertPaymentOrder(poomodel, pomodel, tx1); tx1.Commit(); } catch (Exception ex) { tx1.Rollback(); result.IsValid = false; result.Messages.Add(ex.Message); } } return(result); }
/// <summary> /// web 账户充值(成功) /// </summary> /// <param name="model">用户余额信息表model</param> /// <param name="ulogModel">用户账户金额异动记录表model</param> /// <param name="poomodel">订单支付信息表model</param> /// <param name="pomodel">订单支付信息与订单关联记录表model</param> /// <returns></returns> public ResultModel AccountRechargeWeb(ZJ_UserBalanceModel model, ZJ_UserBalanceChangeLogModel ulogModel, PaymentOrderModel pomodel, ZJ_RechargeOrderModel zjoModel, ZJ_UserBalanceChangeLogModel zjoulogModel) { var result = new ResultModel(); using (var tx1 = _database.Db.BeginTransaction()) { try { UpdateZJ_RechargeOrder(zjoModel, tx1); UpdatePaymentOrder(pomodel, tx1); UpdateZJ_UserBalance(model, ulogModel, tx1); tx1.Commit(); } catch (Exception ex) { tx1.Rollback(); result.IsValid = false; result.Messages.Add(ex.Message); } } return(result); }
/// <summary> /// PaymentOrder订单支付信息表 修改支付状态和给第三方编号赋值 /// </summary> /// <param name="zjoModel"></param> /// <param name="tx"></param> public void UpdatePaymentOrder(PaymentOrderModel poModel, dynamic tx) { tx.PaymentOrder.UpdateByPaymentOrderID(PaymentOrderID: poModel.PaymentOrderID, Flag: poModel.Flag, outOrderId: poModel.outOrderId); }