public async Task <PagingCollection <EthereumTransaction> > GetAsync(EtheriumTransactionsQuery query)
        {
            var querable = from transaction in _readContext.EthereumTransactions
                           where query.UserIds.Count == 0 || query.UserIds.Contains(transaction.User.Id)
                           where query.EntityIds.Count == 0 || query.EntityIds.Contains(transaction.EntityId)
                           where query.EntityTypes.Count == 0 || query.EntityTypes.Contains(transaction.EntityType)
                           where query.TransactionTypes.Count == 0 || query.TransactionTypes.Contains(transaction.TransactionType)
                           where query.Statuses.Count == 0 || query.Statuses.Contains(transaction.Status)
                           select transaction;

            return(await querable.GetPageAsync(query.Offset, query.Count));
        }
Exemplo n.º 2
0
        public async Task <PartialCollectionResponse <EthereumTransactionResponse> > GetAsync([FromQuery] EtheriumTransactionsQueryRequest request)
        {
            var query = new EtheriumTransactionsQuery(request.Offset,
                                                      request.Count,
                                                      request.UserIds ?? new long[0],
                                                      request.EntityIds ?? new long[0],
                                                      request.EntityTypes ?? new EthereumTransactionEntityType[0],
                                                      request.TransactionTypes ?? new EthereumTransactionType[0],
                                                      request.Statuses ?? new EthereumTransactionStatus[0]);

            var transactions = await _ethereumTransactionService.GetAsync(query);

            return(transactions.ToPartialCollectionResponse(EthereumTransactionResponse.Create));
        }
Exemplo n.º 3
0
 public Task <PagingCollection <EthereumTransaction> > GetAsync(EtheriumTransactionsQuery query)
 => _repository.GetAsync(query);