Exemplo n.º 1
0
        public async Task<ActionResult> SubmitTransferToRipple(string account, decimal targetamount, string currency, decimal sourceAmount, string paypassword)
        {
            account = account.NullSafe().Trim();

            if (Session[OUTSIDE_GATEWAY_ACCOUNT_INFO_KEY + account] != null && Session[OUTSIDE_GATEWAY_ACCOUNT_INFO_KEY + account] != null)
            {
                var rippleAccountInfo = (FederationResponse)Session[OUTSIDE_GATEWAY_ACCOUNT_INFO_KEY + account];
                var pathInfos = Session[OUTSIDE_GATEWAY_ACCOUNT_PATHS + account] as List<List<object>>;

                try
                {
                    var cmd = new CreateOutboundTransfer(PayWay.Ripple, rippleAccountInfo.UserAccount.Destination, currency, sourceAmount, targetamount, string.Empty, this.CurrentUser.UserID);
                    this.CommandBus.Send(cmd);

                    var cmd_ripple = new CreateRippleOutboundTx(rippleAccountInfo.UserAccount.Destination, rippleAccountInfo.UserAccount.DestinationTag.Value, currency, targetamount, sourceAmount, pathInfos);
                    this.CommandBus.Send(cmd_ripple);
                    return View("transferripplesuccess");
                }
                catch (Exception ex)
                {
                    Log.Error("submit to ripple error", ex);
                }
            }

            return View("Error");
        }
Exemplo n.º 2
0
        public ActionResult SubmitOutboundPayment(PayWay payway, string account, decimal amount, string description)
        {
            var emailReg = new Regex(@"^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$");
            var mobileReg = new Regex("^1[3|5|7|8|][0-9]{9}$");
            var qqReg = new Regex(@"^\d{5,10}$");

            var result = false;
            var message = "无效的收款账户";
            var accountInfo = default(FederationResponse);
            account = account.NullSafe().Trim();


            if ((payway == PayWay.Alipay && (emailReg.IsMatch(account) || mobileReg.IsMatch(account))) ||
                (payway == PayWay.Tenpay && (emailReg.IsMatch(account) || mobileReg.IsMatch(account) || qqReg.IsMatch(account))))
            {
                var cmd = new CreateOutboundTransfer(payway, account, CurrencyType.CNY.ToString(), amount, amount, description.NullSafe().Trim(), this.CurrentUser.UserID);

                this.CommandBus.Send(cmd);

                return Redirect("~/transfertpp/{0}/confirm?orderid={1}".FormatWith(payway, cmd.Result));
            }

            return View();
        }