30 lines
861 B
Dart
30 lines
861 B
Dart
import 'dart:convert';
|
|
|
|
import '../Entities/drift_database.dart';
|
|
|
|
/// Ein Service um Transaktionen zu verarbeiten
|
|
class TransactionService {
|
|
/// Wandelt die übergebenen Transaktionen in einen String um
|
|
static String transactionsToString(final List<Transaction> transactions) {
|
|
final List<Map<String, dynamic>> jsonTransactions = transactions
|
|
.map((final value) => value.toJson())
|
|
.toList();
|
|
|
|
return jsonEncode(jsonTransactions);
|
|
}
|
|
|
|
/// Wandelt den String in eine Liste von Transaktionen um
|
|
static List<Transaction> transactionsFromString(final String? transactions) {
|
|
if (transactions == null) {
|
|
return [];
|
|
}
|
|
|
|
try {
|
|
final List<dynamic> decoded = jsonDecode(transactions);
|
|
return decoded.map((final item) => Transaction.fromJson(item)).toList();
|
|
} on Exception {
|
|
return [];
|
|
}
|
|
}
|
|
}
|