public override async Task <ActionResult <AccountDetailsResponse> > HandleAsync( CancellationToken cancellationToken = default) { var response = await _finApiService.GetAllBankAccounts(cancellationToken); if (response == null) { return(Ok()); } foreach (var responseAccount in response.Accounts) { responseAccount.FormattedBalance = long.Parse(responseAccount.Balance.FormatBalance()); } var session = await _finApiService.BuildUserSessionConfiguration(cancellationToken); var client = new BankConnectionsApi(session); var allBankConnections = await client.GetAllBankConnectionsAsync(cancellationToken : cancellationToken); var allBankConnectionIds = allBankConnections.Connections.SelectMany(x => x.AccountIds).Shuffle(); var transactionsPayload = await _finApiService.GetAllBankTransactions(allBankConnectionIds.Shuffle().Take(1).FirstOrDefault(), cancellationToken); var finalTransactions = transactionsPayload.Transactions.Shuffle().OrderByDescending(x => x.BankBookingDate).Take(5).ToList(); foreach (var finalTransaction in finalTransactions) { finalTransaction.FormattedBalance = long.Parse(finalTransaction.Amount.FormatBalance()); } return(Ok(new AccountDetailsResponse(response.Accounts, finalTransactions))); }
public override async Task <ActionResult> HandleAsync([FromRoute] DeleteBankRequest request, CancellationToken cancellationToken = default) { var session = await _finApiService.BuildUserSessionConfiguration(cancellationToken); var api = new BankConnectionsApi(session); await api.DeleteBankConnectionAsync(request.Id, cancellationToken); return(Ok()); }
public BankConnectionList AllConnections(string userId, string userPassword) { var token = GetUserAccessToken(userId, userPassword); var api = new BankConnectionsApi(BasePath); api.ApiClient.AddDefaultHeader("Authorization", "Bearer " + token); var result = api.GetAllBankConnections(null); return(result); }