From a2ebb3def5ca45f6bcc5a544b36547597bef6ef8 Mon Sep 17 00:00:00 2001 From: Dan Cojocaru Date: Mon, 24 Jul 2023 07:04:51 +0200 Subject: [PATCH] Choose ideal group until selection is implemented --- lib/models/train_data.dart | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/lib/models/train_data.dart b/lib/models/train_data.dart index 0ba8ea9..cfa9c5b 100644 --- a/lib/models/train_data.dart +++ b/lib/models/train_data.dart @@ -28,9 +28,21 @@ class TrainData with _$TrainData { factory TrainData.fromJson(Map json) => _$TrainDataFromJson(json); - List get stations => groups.first.stations; - TrainDataRoute get route => groups.first.route; - TrainDataStatus? get status => groups.first.status; + TrainDataGroup get idealGroup { + var result = groups.first; + + for (final group in groups) { + if (result.stations.map((s) => s.linkName).toSet().difference(group.stations.map((s) => s.linkName).toSet()).isEmpty) { + result = group; + } + } + + return result; + } + + List get stations => idealGroup.stations; + TrainDataRoute get route => idealGroup.route; + TrainDataStatus? get status => idealGroup.status; } @freezed