Feat: Aktualisiert Transaktionen wenn die wiederkehrenden generiert wurden
This commit is contained in:
@@ -1,7 +1,10 @@
|
|||||||
import 'dart:async';
|
import 'dart:async';
|
||||||
|
import 'dart:isolate';
|
||||||
|
|
||||||
import 'package:drift/drift.dart';
|
import 'package:drift/drift.dart';
|
||||||
|
import 'package:flutter/foundation.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
|
import 'package:logger/logger.dart';
|
||||||
|
|
||||||
import '../Entities/drift_database.dart';
|
import '../Entities/drift_database.dart';
|
||||||
import '../Pages/Dialog/dialog_action.dart';
|
import '../Pages/Dialog/dialog_action.dart';
|
||||||
@@ -11,6 +14,7 @@ import '../Pages/Dialog/dialog_type_enum.dart';
|
|||||||
import '../Pages/Dialog/dynamic_dialog.dart';
|
import '../Pages/Dialog/dynamic_dialog.dart';
|
||||||
import '../Repositories/transaction_repository.dart';
|
import '../Repositories/transaction_repository.dart';
|
||||||
import 'account_controller.dart';
|
import 'account_controller.dart';
|
||||||
|
import 'port_controller.dart';
|
||||||
|
|
||||||
/// Steuert die Interaktion mit den Transaktionen
|
/// Steuert die Interaktion mit den Transaktionen
|
||||||
class TransactionController {
|
class TransactionController {
|
||||||
@@ -67,6 +71,16 @@ class TransactionController {
|
|||||||
unawaited(updateTransactions());
|
unawaited(updateTransactions());
|
||||||
});
|
});
|
||||||
|
|
||||||
|
if (!kIsWeb) {
|
||||||
|
final ReceivePort receivePort = ReceivePort()
|
||||||
|
..listen((_) {
|
||||||
|
Logger().i('Received update-transactions signal');
|
||||||
|
unawaited(updateTransactions());
|
||||||
|
});
|
||||||
|
|
||||||
|
PortController().addPort(receivePort.sendPort, 'update-transactions');
|
||||||
|
}
|
||||||
|
|
||||||
unawaited(updateTransactions());
|
unawaited(updateTransactions());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,12 @@
|
|||||||
|
import 'dart:async';
|
||||||
|
|
||||||
import 'package:drift/drift.dart';
|
import 'package:drift/drift.dart';
|
||||||
|
import 'package:flutter/foundation.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:logger/logger.dart';
|
import 'package:logger/logger.dart';
|
||||||
|
|
||||||
|
import '../Controller/port_controller.dart';
|
||||||
|
import '../Controller/transaction_controller.dart';
|
||||||
import '../Entities/drift_database.dart';
|
import '../Entities/drift_database.dart';
|
||||||
import '../Entities/time_frame_enum.dart';
|
import '../Entities/time_frame_enum.dart';
|
||||||
import '../Repositories/recurring_transacation_repository.dart';
|
import '../Repositories/recurring_transacation_repository.dart';
|
||||||
@@ -34,10 +39,21 @@ class GenerateTransactionsTask extends Task {
|
|||||||
);
|
);
|
||||||
final Transaction? transaction = transactions.firstOrNull;
|
final Transaction? transaction = transactions.firstOrNull;
|
||||||
|
|
||||||
await _generateTransactions(recurringTransaction, transaction?.date);
|
await _generateTransactions(
|
||||||
|
recurringTransaction,
|
||||||
|
transaction?.date,
|
||||||
|
number: transactions.length,
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
_logger.i('Generating transactions completed.');
|
_logger.i('Generating transactions completed.');
|
||||||
|
|
||||||
|
if (!kIsWeb) {
|
||||||
|
PortController().getPort('update-transactions')?.send('ready');
|
||||||
|
} else {
|
||||||
|
unawaited(TransactionController().updateTransactions());
|
||||||
|
}
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user