transactions method

  1. @override
Future<List<Transaction>> transactions([
  1. TransactionQuery query = const TransactionQuery()
])
override

Returns transactions matching the provided query.

Implementation

@override
Future<List<Transaction>> transactions([TransactionQuery query = const TransactionQuery()]) async {
  var result = List<Transaction>.from(_transactions);
  if (query.accountId != null) {
    result = result.where((t) => t.accountId == query.accountId).toList();
  }
  if (query.startDate != null) {
    result = result.where((t) => t.transactionDate.isAfter(query.startDate!)).toList();
  }
  if (query.endDate != null) {
    result = result.where((t) => t.transactionDate.isBefore(query.endDate!)).toList();
  }
  if (query.limit != null) result = result.take(query.limit!).toList();
  return result;
}