Exemplo n.º 1
0
 protected void Button2_Click(object sender, EventArgs e)
 {
     var account = Code.AccountManage.Instance.GetAccount(TextBox1.Text, accountType, transactionType);
     decimal amount=Convert.ToInt32(TextBox2.Text);
     int op = Convert.ToInt32(drpOperate.SelectedValue);
     //创建交易流水
     var ts = new CRL.Package.Account.Transaction() { AccountId = account.Id, Amount = amount, OperateType = (CRL.Package.Account.OperateType)op, TradeType = op, Remark = "业务交易:" + amount };
     ts.OutOrderId = DateTime.Now.ToShortTimeString();//外部订单号,会用来判断有没有重复提交
     string error;
     //提交交易
     bool a = Code.TransactionManage.Instance.SubmitTransaction(out error, true, ts);
     Response.Write("操作" + a + " " + error);
     Bind();
 }
Exemplo n.º 2
0
        /// <summary>
        /// 充值入口
        /// </summary>
        /// <param name="member"></param>
        /// <param name="amount"></param>
        /// <param name="remark"></param>
        /// <param name="transactionType"></param>
        /// <param name="error"></param>
        /// <returns></returns>
        public bool Charge(Member member, decimal amount, string remark, TransactionType transactionType, out string error)
        {
            var    account   = Transaction.AccountManage.Instance.GetAccountId(member.Id, Model.AccountType.会员, transactionType);
            string orderId   = DateTime.Now.ToString("yyMMddhhmmssff");
            int    tradeType = 10001;
            var    trans     = new List <CRL.Package.Account.Transaction>();
            var    ts        = new CRL.Package.Account.Transaction()
            {
                AccountId = account, Amount = amount, OperateType = CRL.Package.Account.OperateType.收入, TradeType = tradeType, OutOrderId = orderId, Remark = remark
            };

            trans.Add(ts);

            bool b = Transaction.TransactionManage.Instance.SubmitTransaction(out error, true, trans.ToArray());//提交流水

            return(b);
        }
Exemplo n.º 3
0
        /// <summary>
        /// 扣款
        /// </summary>
        /// <param name="order"></param>
        /// <param name="error"></param>
        /// <returns></returns>
        public bool PayOrder(OrderMain order, out string error)
        {
            error = "";
            //会员账户
            var accountUser  = Transaction.AccountManage.Instance.GetAccount(order.UserId, Model.AccountType.会员, Model.TransactionType.现金);
            var accountUser2 = Transaction.AccountManage.Instance.GetAccount(order.UserId, Model.AccountType.会员, Model.TransactionType.积分);

            if (accountUser.AvailableBalance < order.TotalAmount)
            {
                error = "账户余额不足";
                return(false);
            }

            int tradeType = 1001;
            var amount    = order.TotalAmount;
            var orderId   = order.OrderId;
            var remark    = "订单支付";
            var trans     = new List <CRL.Package.Account.Transaction>();
            //生成会员交易流水
            var ts = new CRL.Package.Account.Transaction()
            {
                AccountId = accountUser.Id, Amount = amount, OperateType = CRL.Package.Account.OperateType.支出, TradeType = tradeType, OutOrderId = orderId, Remark = remark
            };

            trans.Add(ts);
            //赠送积分
            var ts3 = new CRL.Package.Account.Transaction()
            {
                AccountId = accountUser2.Id, Amount = amount, OperateType = CRL.Package.Account.OperateType.收入, TradeType = tradeType, OutOrderId = orderId, Remark = "赠送积分"
            };

            trans.Add(ts3);
            bool b = Transaction.TransactionManage.Instance.SubmitTransaction(out error, true, trans.ToArray());//提交流水

            if (!b)
            {
                return(false);
            }
            //order是查询创建的,直接更改值即可更新
            order.Status = OrderStatus.单成功;
            Update(order);
            return(b);
        }
Exemplo n.º 4
0
        protected void Button2_Click(object sender, EventArgs e)
        {
            var     account = Code.AccountManage.Instance.GetAccount(TextBox1.Text, accountType, transactionType);
            decimal amount  = Convert.ToInt32(TextBox2.Text);
            int     op      = Convert.ToInt32(drpOperate.SelectedValue);
            //创建交易流水
            var ts = new CRL.Package.Account.Transaction()
            {
                AccountId = account.Id, Amount = amount, OperateType = (CRL.Package.Account.OperateType)op, TradeType = op, Remark = "业务交易:" + amount
            };

            ts.OutOrderId = DateTime.Now.ToShortTimeString();//外部订单号,会用来判断有没有重复提交
            string error;
            //提交交易
            bool a = Code.TransactionManage.Instance.SubmitTransaction(out error, true, ts);

            Response.Write("操作" + a + " " + error);
            Bind();
        }