From 17e7ce6fad48b929da31d35fdcca91b658bc9004 Mon Sep 17 00:00:00 2001 From: Sven Carstensen Date: Thu, 16 May 2024 10:00:31 +0200 Subject: [PATCH] Erweiterungen --- lib/content_views/task_list_page.dart | 21 ++++++++++----------- lib/tools/mqtt_core.dart | 12 ++++++++---- pubspec.yaml | 2 +- 3 files changed, 19 insertions(+), 16 deletions(-) diff --git a/lib/content_views/task_list_page.dart b/lib/content_views/task_list_page.dart index 7e45379..48dc4ba 100644 --- a/lib/content_views/task_list_page.dart +++ b/lib/content_views/task_list_page.dart @@ -449,23 +449,22 @@ class _TaskListPageState extends State { } _sendArrivedMessage(TaskInfo taskInfo) { - var finTaskMessage = FinTaskMessage(); - finTaskMessage.finTask = FinTask(); - finTaskMessage.finTask.trId = widget.tour.id; - finTaskMessage.finTask.task = Task(); - finTaskMessage.finTask.task.sId = taskInfo.task.sId; - finTaskMessage.finTask.task.time = DateTime.now().toIso8601String(); + var message = FinTask(); + message.trId = widget.tour.id; + message.task = Task(); + message.task.sId = taskInfo.task.sId; + message.task.time = DateTime.now().toIso8601String(); var position = MyApp.currentPosition; if (position != null) { - finTaskMessage.finTask.task.pos = FinTaskPos(); - finTaskMessage.finTask.task.pos!.lat = position.latitude; - finTaskMessage.finTask.task.pos!.long = position.longitude; + message.task.pos = FinTaskPos(); + message.task.pos!.lat = position.latitude; + message.task.pos!.long = position.longitude; } else { - finTaskMessage.finTask.task.pos = null; + message.task.pos = null; } - MessageService().publish(Constants.messageTopicPublishPayload, arguments: PublishPayloadMessage(topic: "job", message: finTaskMessage.toJson())); + MessageService().publish(Constants.messageTopicPublishPayload, arguments: PublishPayloadMessage(topic: "fin_task", message: message.toJson())); } FinTourTask _createAnswerHeader(TaskInfo taskInfo) { diff --git a/lib/tools/mqtt_core.dart b/lib/tools/mqtt_core.dart index a5d8cf1..4683fcf 100644 --- a/lib/tools/mqtt_core.dart +++ b/lib/tools/mqtt_core.dart @@ -321,11 +321,15 @@ class MqttCore { void _jobDeleteReceived(payloadData) async { var jobDelMessage = JobDelMessage.fromJson(payloadData); - await MyApp.isarInstance.writeTxn(() async { - await MyApp.isarInstance.jobs.delete(jobDelMessage.id); - }); - MessageService().publish(Constants.messageTopicJobDeleted, arguments: JobDeletedMessage(id: jobDelMessage.id)); + var foundJobs = await MyApp.isarInstance.jobs.where().filter().idEqualTo(jobDelMessage.id).findAll(); + if (foundJobs.isNotEmpty) { + await MyApp.isarInstance.writeTxn(() async { + await MyApp.isarInstance.jobs.delete(jobDelMessage.id); + }); + + MessageService().publish(Constants.messageTopicJobDeleted, arguments: JobDeletedMessage(id: jobDelMessage.id)); + } } void _syncRequestReceived(payloadData) async { diff --git a/pubspec.yaml b/pubspec.yaml index b09142c..e6b171b 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -16,7 +16,7 @@ publish_to: 'none' # Remove this line if you wish to publish to pub.dev # https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html # In Windows, build-name is used as the major, minor, and patch parts # of the product and file versions while build-number is used as the build suffix. -version: 308.0.0+308 +version: 309.0.0+309 environment: sdk: '>=2.19.6 <3.0.0'