diff --git a/lib/Entities/drift_database.g.dart b/lib/Entities/drift_database.g.dart index 866c17b..4876442 100644 --- a/lib/Entities/drift_database.g.dart +++ b/lib/Entities/drift_database.g.dart @@ -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(); } diff --git a/lib/Repositories/transaction_repository.dart b/lib/Repositories/transaction_repository.dart index b4f17c6..6474b25 100644 --- a/lib/Repositories/transaction_repository.dart +++ b/lib/Repositories/transaction_repository.dart @@ -9,16 +9,35 @@ class TransactionRepository { /// Fügt eine neue Transaktion zur Datenbank hinzu Future 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 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,