Ejemplo n.º 1
0
        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));
        }
Ejemplo n.º 2
0
        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 }
            });
        }