diff --git a/.idea/libraries/Dart_Packages.xml b/.idea/libraries/Dart_Packages.xml
new file mode 100644
index 0000000..22b8bd3
--- /dev/null
+++ b/.idea/libraries/Dart_Packages.xml
@@ -0,0 +1,556 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Dart_SDK.xml b/.idea/libraries/Dart_SDK.xml
new file mode 100644
index 0000000..bc2930b
--- /dev/null
+++ b/.idea/libraries/Dart_SDK.xml
@@ -0,0 +1,27 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Sources/bowlin_project/lib/model/LocalManager/GameManager.dart b/Sources/bowlin_project/lib/model/LocalManager/GameManager.dart
index 5517ed5..6e69137 100644
--- a/Sources/bowlin_project/lib/model/LocalManager/GameManager.dart
+++ b/Sources/bowlin_project/lib/model/LocalManager/GameManager.dart
@@ -9,7 +9,6 @@ import 'LocalData.dart';
import 'package:uuid/uuid.dart';
class GameManager extends IGameManager {
- List games = [];
final LocalData parent;
// Constructor
@@ -18,23 +17,38 @@ class GameManager extends IGameManager {
// Methods
@override
GameDetail getGameById(Uuid id) {
- return GameDetail(Uuid(), DateTime.now(), Uuid(), 290, true, null,
- Guest(Uuid(), "", ""), [], []);
+ for (var element in parent.games) {
+ if (element.id == id) {
+ for (var gd in parent.gameDetails) {
+ if (element.id == gd.id) {
+ return gd;
+ }
+ }
+ throw Exception("No GameDetail found corresponding to the given id");
+ }
+ }
+ throw Exception("No Game found corresponding to the given id");
}
@override
List getGamesByPlayerId(Uuid id) {
- return [];
+ List games = [];
+ for (var element in parent.gameDetails) {
+ if (element.players.contains(id)) {
+ games.add(element);
+ }
+ }
+ return games;
}
@override
List getGamesByPlayer(Player user) {
- return [];
+ throw Exception("Impossible to get games by player with LocalStorage.");
}
@override
List getGamesByPlayers(List users) {
- return [];
+ throw Exception("Impossible to get games by players with LocalStorage.");
}
@override
diff --git a/Sources/bowlin_project/lib/model/LocalManager/LocalData.dart b/Sources/bowlin_project/lib/model/LocalManager/LocalData.dart
index f20430e..a8555c1 100644
--- a/Sources/bowlin_project/lib/model/LocalManager/LocalData.dart
+++ b/Sources/bowlin_project/lib/model/LocalManager/LocalData.dart
@@ -3,6 +3,11 @@ library LocalLib;
import '../IManager.dart';
import '../IUserManager.dart';
import '../IGameManager.dart';
+import '../Round.dart';
+import '../Stat.dart';
+import '../GameDetail.dart';
+import '../Game.dart';
+import '../Achievement.dart';
import '../User.dart';
import 'UserManager.dart';
import 'GameManager.dart';
@@ -15,12 +20,8 @@ class LocalData extends IManager {
final LocalStorage storage = LocalStorage('local_key');
List users = [];
-
- LocalData() {
- _userMgr = UserManager(this);
- _gameMgr = GameManager(this);
- users = storage.getItem('users');
- }
+ List gameDetails = [];
+ List games = [];
_saveToStorage() {
storage.setItem('users', toJSONEncodable());
@@ -35,4 +36,12 @@ class LocalData extends IManager {
return user.toJSONEncodable();
}).toList();
}
+
+ LocalData() {
+ _userMgr = UserManager(this);
+ _gameMgr = GameManager(this);
+ users = storage.getItem('users');
+ games = storage.getItem('games');
+ gameDetails = storage.getItem('gameDetails');
+ }
}