diff --git a/lib/datamodel.dart b/lib/datamodel.dart index 8664c179d38ff6d542b1b16a6b90295d005c5847..ce0135607ccfc3090926e9f9aa880d5d4c4eb340 100644 --- a/lib/datamodel.dart +++ b/lib/datamodel.dart @@ -1,5 +1,7 @@ +import 'dart:convert'; + class Collection { int id; String description; @@ -162,7 +164,7 @@ class EventType{ EventType.fromSensorJson(Map<String, dynamic> json) : id = json['id'], - name = json['generalName']; + name = json['generalName']; EventType.fromJson(Map<String, dynamic> json) : id = json['id'], @@ -291,6 +293,27 @@ abstract class EventStoreBase{ } return count; } + + String getEventDump(){ + String ev = '['; + + for (var event in events) { + ev += jsonEncode(event); + ev += ','; + } + ev += ']'; + return ev; + } + + fromEventDump(dump){ + events = []; + print(dump); + List<dynamic> data = jsonDecode(dump); + for (var entry in data) { + print(entry); + events.add(Event.fromJson(entry)); + } + } } diff --git a/lib/main.dart b/lib/main.dart index f4e99855cb488102844623e7ea29faa8a3c07e92..339437b872bca9c1c7a954340df79b29210d9555 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -47,6 +47,8 @@ void main() { //configuration.currentCollection = Collection.fromJson({"id":1,"description":"","collectionName":"FRAM"}); //configuration.initialized = true; + //events.fromEventDump([{"id":102,"urn":"mooring:f9-12","label":"cf","type":"Calibration","typeId":15,"description":"fd","status":"PENDING","startDate":"2022-03-25T12:47:30.659436Z","endDate":"2022-03-25T12:47:30.659436Z","latitude":"","longitude":"","elevation":""},{"id":102,"urn":"mooring:f9-12","label":"cf","type":"Calibration","typeId":15,"description":"fd","status":"PENDING","startDate":"2022-03-25T12:47:32.136009Z","endDate":"2022-03-25T12:47:32.136009Z","latitude":"","longitude":"","elevation":""}]); + runApp(MaterialApp( title: 'Mobile Event Log', diff --git a/lib/viewevents.dart b/lib/viewevents.dart index c8b71ee2a695bf1fd1936154d356645e6bede1c4..df51ebb7c4792a4af2271dda5c0363523fdda7f2 100644 --- a/lib/viewevents.dart +++ b/lib/viewevents.dart @@ -59,6 +59,7 @@ class _ViewEvents extends State<ViewEvents> { _sync_status = 'export success'; } } on SocketException catch (e) { + debugPrint('Exception: $e'); _sync_status = 'No connection'; setState(() {}); } catch (e) { @@ -242,9 +243,8 @@ class _ViewEvents extends State<ViewEvents> { icon: null, label: const Text('Sync'), onPressed: () { - for (var event in _events.events){ - debugPrint("Event: " + jsonEncode(event)); - } + debugPrint(_events.getEventDump()); + syncEvents(); },