public IActionResult Transfer(
     [FromBody] TransferAccountRequest request
     )
 {
     @event.Publish(request);
     return(Ok(request));
 }
Esempio n. 2
0
        private static void TransferAccount()
        {
            var client  = new AccountClient(Config.AccessKey, Config.SecretKey);
            var request = new TransferAccountRequest
            {
                fromUser        = 125753978,
                fromAccountType = "spot",
                fromAccount     = 11136102,
                toUser          = 128654510,
                toAccountType   = "spot",
                toAccount       = 12825690,
                currency        = "ht",
                amount          = "0.1"
            };

            var result = client.TransferAccountAsync(request).Result;

            if (result != null)
            {
                if (result.status == "ok" && result.data != null)
                {
                    AppLogger.Info($"Transfer account success, id: {result.data.transactId}, time: {result.data.transactTime}");
                }
                else
                {
                    AppLogger.Error($"Transfer account error, code: {result.errCode}, message: {result.errMessage}");
                }
            }
        }
        public BaseResponse <TransferAccountResponse> TransferAccount(TransferAccountRequest request)
        {
            var response = new BaseResponse <TransferAccountResponse>();

            try
            {
                if (request == null)
                {
                    throw new ArgumentNullException("missing body");
                }

                var data = new TransferAccountResponse();

                var source = accountDomainService.GetAccountById(request.sourceId);
                var target = accountDomainService.GetAccountById(request.targetId);

                accountDomainService.TransferTo(source, target, request.amount);

                source = accountDomainService.GetAccountById(request.sourceId);

                data.id           = source.Id;
                data.sourceAmount = source.Amount;

                response.SetData(data);
            }
            catch (Exception e)
            {
                response.SetError(e);
            }
            return(response);
        }
Esempio n. 4
0
        /// <summary>
        /// Parent user and sub user transfer asset between accounts.
        /// <para>TransferResponse data</para>
        /// <para>string errorCode</para>
        /// <para>string errorMessage</para>
        /// </summary>
        /// <param name="request">TransferAccountRequest</param>
        /// <returns>TransferAccountResponse</returns>
        public void TransferAccountAsync(TransferAccountRequest request,
                                         System.Action <TransferAccountResponse.TransferResponse, string, string> action = null)
        {
            string url = _urlBuilder.Build(POST_METHOD, "/v1/account/transfer");

            HttpRequest.PostAsync <TransferAccountResponse>(url, request.ToJson()).ContinueWith((task) => {
                if (action != null)
                {
                    var res = task.Result;
                    action(res.data, res.erroCode, res.erroMessage);
                }
            });
        }
        public void TransferAccountAsyncTest()
        {
            TransferAccountRequest trans = new TransferAccountRequest()
            {
                fromUser        = 0,
                fromAccountType = "spot",
                fromAccount     = 0,
                toUser          = 1,
                toAccountType   = "spot",
                toAccount       = 1,
                currency        = "SHIB",
                amount          = "1"
            };
            var result = client.TransferAccountAsync(trans).Result;

            string strret = JsonConvert.SerializeObject(result, Formatting.Indented);

            Console.WriteLine(strret);
            Assert.Equal("ok", result.status);
        }
Esempio n. 6
0
        /// <summary>
        /// Parent user and sub user transfer asset between accounts.
        /// </summary>
        /// <param name="request">TransferAccountRequest</param>
        /// <returns>TransferAccountResponse</returns>
        public async Task <TransferAccountResponse> TransferAccountAsync(TransferAccountRequest request)
        {
            string url = _urlBuilder.Build(POST_METHOD, "/v1/account/transfer");

            return(await HttpRequest.PostAsync <TransferAccountResponse>(url, request.ToJson()));
        }
        public async Task <IActionResult> Post(TransferAccountRequest request)
        {
            var response = await _mediator.Send((TransferAccountCommand)request);

            return(Ok(response));
        }