Feat: Speichert Transaktions-Datumswerte in der korrekten UTC-Zone

This commit is contained in:
2026-01-04 19:51:46 +01:00
parent b4485915df
commit d68e8ec305
2 changed files with 29 additions and 10 deletions

View File

@@ -576,10 +576,10 @@ class RecurringTransaction extends DataClass
@override @override
String toString() { String toString() {
return (StringBuffer('RecurringTransaction(') return (StringBuffer('RecurringTransaction(')
..write('id: $id, ') ..write('id: $id, ')..write('name: $name, ')..write(
..write('name: $name, ')..write('startDate: $startDate, ')..write( 'startDate: $startDate, ')..write('timeFrame: $timeFrame, ')..write(
'timeFrame: $timeFrame, ')..write('amount: $amount, ')..write( 'amount: $amount, ')..write('accountId: $accountId, ')..write(
'accountId: $accountId, ')..write('updatedAt: $updatedAt') 'updatedAt: $updatedAt')
..write(')')) ..write(')'))
.toString(); .toString();
} }
@@ -700,10 +700,10 @@ class RecurringTransactionsCompanion
@override @override
String toString() { String toString() {
return (StringBuffer('RecurringTransactionsCompanion(') return (StringBuffer('RecurringTransactionsCompanion(')
..write('id: $id, ') ..write('id: $id, ')..write('name: $name, ')..write(
..write('name: $name, ')..write('startDate: $startDate, ')..write( 'startDate: $startDate, ')..write('timeFrame: $timeFrame, ')..write(
'timeFrame: $timeFrame, ')..write('amount: $amount, ')..write( 'amount: $amount, ')..write('accountId: $accountId, ')..write(
'accountId: $accountId, ')..write('updatedAt: $updatedAt') 'updatedAt: $updatedAt')
..write(')')) ..write(')'))
.toString(); .toString();
} }

View File

@@ -9,16 +9,35 @@ class TransactionRepository {
/// Fügt eine neue Transaktion zur Datenbank hinzu /// Fügt eine neue Transaktion zur Datenbank hinzu
Future<Transaction?> add(final TransactionsCompanion transaction) async { Future<Transaction?> add(final TransactionsCompanion transaction) async {
final int id = await _db.into(_db.transactions).insert(transaction); final DateTime date = transaction.date.value!.add(
transaction.date.value!.timeZoneOffset,
);
final TransactionsCompanion transactionToAdd = TransactionsCompanion(
id: transaction.id,
name: transaction.name,
date: Value(date),
amount: transaction.amount,
checked: transaction.checked,
accountId: transaction.accountId,
recurringTransactionId: transaction.recurringTransactionId,
updatedAt: Value(DateTime.now()),
);
final int id = await _db.into(_db.transactions).insert(transactionToAdd);
return find(id); return find(id);
} }
/// Aktualisiert eine Transaktion in der Datenbank /// Aktualisiert eine Transaktion in der Datenbank
Future<bool> update(final TransactionsCompanion transaction) { Future<bool> update(final TransactionsCompanion transaction) {
final DateTime date = transaction.date.value!.add(
transaction.date.value!.timeZoneOffset,
);
final TransactionsCompanion transactionToUpdate = TransactionsCompanion( final TransactionsCompanion transactionToUpdate = TransactionsCompanion(
id: transaction.id, id: transaction.id,
name: transaction.name, name: transaction.name,
date: transaction.date, date: Value(date),
amount: transaction.amount, amount: transaction.amount,
checked: transaction.checked, checked: transaction.checked,
accountId: transaction.accountId, accountId: transaction.accountId,