public IActionResult Get(int accountid, int?amount, int?page) { var request = new GetAccountTransactionsRequest { AccountId = accountid, Amount = amount ?? 10, Page = page ?? 0 }; var handler = new GetAccountTransactionsHandler(new BankContext()).Handler(request); return(Ok(handler.Account)); }
public override async Task <GetAccountTransactionsResponse> GetAccountTransactions(GetAccountTransactionsRequest request, ServerCallContext context) { var tokenClaims = tokenClaimsAccessor.TokenClaims; var user = await dbContext.Users.FindIfNullThrowAsync(tokenClaims.UserId); // for payed transaction, negate the amount. var transactions = user.ReceivedUserTransactions.AsEnumerable().Select(x => x.ToGrpc(false)) .Concat(user.PayedUserTransactions.AsEnumerable().Select(x => x.ToGrpc(true))) .OrderByDescending(x => x.Time) .AsEnumerable(); if (request.Limit > 0) { transactions = transactions.Take(request.Limit); } return(new GetAccountTransactionsResponse { Transactions = { transactions } }); }