public override async Task<GetTransactionsResponse> GetTransactions(GetTransactionsRequest request, ServerCallContext context) { var ids = request.Ids.Any() ? request.Ids.ToArray() : cardsRepository.GetIds(); var transactionsRequest = new FilterTransactionsRequest { Cards = { ids }, TimestampFrom = request.TimestampFrom, TimestampTo = request.TimestampTo }; var transactionsResponse = await transactionsClient.FilterAsync(transactionsRequest, context.RequestHeaders.SelectCustom()); return new GetTransactionsResponse { Transactions = { transactionsResponse.Transactions } }; }
public Task GetTransactions(MessageContext context, GetTransactionsEvent inputEvent) { var cardsIds = inputEvent.Ids != null && inputEvent.Ids.Length > 0 ? inputEvent.Ids : cardsRepository.GetIds(); var getTransactionsEvent = new FilterTransactionsEvent { Cards = cardsIds, TimestampFrom = inputEvent.TimestampFrom, TimestampTo = inputEvent.TimestampTo }; publishingRouter.Publish(Queues.Transactions, getTransactionsEvent, context.FlowId, context.ReplyTo); return(Task.CompletedTask); }