Esempio n. 1
0
        public async Task <IActionResult> TransferMoney(TransferMoneyRequest request)
        {
            await AccountService.TransferMoneyAsync(request.SenderAccountId, request.RecepientAccountId, request.TransferAmount);

            var response = new JsonResult(null)
            {
                StatusCode = 200
            };

            return(response);
        }
        public IActionResult PayIn([FromBody] TransferMoneyRequest transfer, [FromQuery] string partner_code, [FromQuery] string timestamp, [FromQuery] string hash, [FromQuery] string signature)
        {
            try
            {
                var partnerCode = Request.Query["partner_code"];
                var signed      = Request.Query["signature"];
                var transferDao = new Transfer()
                {
                    SignedData               = signed,
                    SourceAccountNumber      = transfer.from_account_number,
                    DestinationAccountNumber = transfer.to_account_number,
                    Money       = transfer.amount,
                    Description = transfer.message,
                    DestinationLinkingBankId = _bankService.GetLinkingBankById(new LinkingBankFilter()
                    {
                        Code = partnerCode
                    }).Id,
                    SourceLinkingBankId = _bankService.GetLinkingBankById(new LinkingBankFilter()
                    {
                        Code = _Setting.BankCode
                    }).Id,                                                                                                          // Luôn lấy mặc định là chính ngân hàng của mình
                };
                var record = _Service.PayInByPartner(transferDao);

                if (record != Guid.Empty)
                {
                    return(Ok(new
                    {
                        result = "success"
                    }));
                }
                else
                {
                    return(BadRequest(new
                    {
                        result = "Error in processing. Please contact ddpbank for assistance",
                    }));
                }
            }
            catch (Exception ex)
            {
                return(StatusCode(StatusCodes.Status500InternalServerError));
            }
        }
Esempio n. 3
0
        public async Task <ResponseModel> NewTransferMoney(TransferMoneyRequest request, string token)
        {
            try
            {
                _client.DefaultRequestHeaders.Authorization = new System.Net.Http.Headers.AuthenticationHeaderValue("bearer", token);

                StringContent stringContent = new StringContent(Newtonsoft.Json.JsonConvert.SerializeObject(request), Encoding.UTF8, "application/json");
                var           response      = await _client.PostAsync(string.Format(_baseUrl, "api/customer/new-transfer"), stringContent);

                return(await ResponseHandler(response));
            }
            catch
            {
                return(new ResponseModel <List <OpenPosition> >
                {
                    Status = ResponseStatus.NetworkError
                });
            }
        }
Esempio n. 4
0
        public static async Task <TransferMoneyResponse> TransferMoneyUsingMobile(TransferMoneyRequest transferMoneyRequest)
        {
            await Session.GetSignupToken();

            var token = await Session.GetAuthTokenAsync(AuthTokenType.SignUp);

            if (string.IsNullOrEmpty(token))
            {
                throw new UnauthorizedAccessException("User is not logged in to perform the action: Transfer Money");
            }

            if (transferMoneyRequest == null)
            {
                return(null);
            }

            RestWrapper restWrapper = new RestWrapper();

            var response =
                await
                restWrapper.Post <TransferMoneyResponse>(Service.TransferMoneyUsingMobile,
                                                         new List <KeyValuePair <string, string> >()
            {
                new KeyValuePair <string, string>("amount", transferMoneyRequest.Amount.ToString()),
                new KeyValuePair <string, string>("currency", transferMoneyRequest.Currency),
                new KeyValuePair <string, string>("to", transferMoneyRequest.To),
                new KeyValuePair <string, string>("currency", transferMoneyRequest.Currency),
                new KeyValuePair <string, string>("message", transferMoneyRequest.Message)
            }, AuthTokenType.SignUp);

            if (!(response is Error))
            {
                return(response as TransferMoneyResponse);
            }

            Utility.ParseAndThrowError(((Error)response).Response);
            return(null);
        }
Esempio n. 5
0
 public async Task TransferMoney(Guid id, [FromBody] TransferMoneyRequest request)
 {
     var grain = _client.GetGrain <IAtmGrain>(id);
     await grain.Transfer(request.From, request.To, request.Amount);
 }