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
String toString() {
return (StringBuffer('RecurringTransaction(')
..write('id: $id, ')
..write('name: $name, ')..write('startDate: $startDate, ')..write(
'timeFrame: $timeFrame, ')..write('amount: $amount, ')..write(
'accountId: $accountId, ')..write('updatedAt: $updatedAt')
..write('id: $id, ')..write('name: $name, ')..write(
'startDate: $startDate, ')..write('timeFrame: $timeFrame, ')..write(
'amount: $amount, ')..write('accountId: $accountId, ')..write(
'updatedAt: $updatedAt')
..write(')'))
.toString();
}
@@ -700,10 +700,10 @@ class RecurringTransactionsCompanion
@override
String toString() {
return (StringBuffer('RecurringTransactionsCompanion(')
..write('id: $id, ')
..write('name: $name, ')..write('startDate: $startDate, ')..write(
'timeFrame: $timeFrame, ')..write('amount: $amount, ')..write(
'accountId: $accountId, ')..write('updatedAt: $updatedAt')
..write('id: $id, ')..write('name: $name, ')..write(
'startDate: $startDate, ')..write('timeFrame: $timeFrame, ')..write(
'amount: $amount, ')..write('accountId: $accountId, ')..write(
'updatedAt: $updatedAt')
..write(')'))
.toString();
}

View File

@@ -9,16 +9,35 @@ class TransactionRepository {
/// Fügt eine neue Transaktion zur Datenbank hinzu
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);
}
/// Aktualisiert eine Transaktion in der Datenbank
Future<bool> update(final TransactionsCompanion transaction) {
final DateTime date = transaction.date.value!.add(
transaction.date.value!.timeZoneOffset,
);
final TransactionsCompanion transactionToUpdate = TransactionsCompanion(
id: transaction.id,
name: transaction.name,
date: transaction.date,
date: Value(date),
amount: transaction.amount,
checked: transaction.checked,
accountId: transaction.accountId,