async Task <ResourceCollection <Transaction> > ITransactionReader.GetAll(
            Guid userId,
            DateTimeOffset from,
            DateTimeOffset to)
        {
            var transactionCollections = new List <ResourceCollection <Transaction> >();
            var accounts = await((IAccountReader)this).GetAll(userId);

            foreach (var account in accounts.Items)
            {
                var accountTransactions = await GetAll(userId, account.Id, from, to);

                transactionCollections.Add(accountTransactions);
            }

            return(transactionCollections.Aggregate(ResourceCollection <Transaction> .Empty(), (acc, curr) =>
            {
                var items = new List <Transaction>();
                items.AddRange(acc.Items);
                items.AddRange(curr.Items);
                return new ResourceCollection <Transaction>(items, acc.Count + curr.Count);
            }));
        }