|
|
@ -31,32 +31,22 @@ class GameManager extends IGameManager {
|
|
|
|
await parent.database.createGameDetail(gameDetail);
|
|
|
|
await parent.database.createGameDetail(gameDetail);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@override
|
|
|
|
List<GameDetail> getGamesByPlayerId(int id) {
|
|
|
|
List<GameDetail> getGamesByPlayerId(int id) {
|
|
|
|
List<GameDetail> games = [];
|
|
|
|
return parent.gameDetails.where((element) =>
|
|
|
|
for (var element in parent.gameDetails) {
|
|
|
|
element.players.any((player) => player is User && player.id == id)
|
|
|
|
for (Player player in element.players) {
|
|
|
|
).toList();
|
|
|
|
if (player is User && player.id == id) {
|
|
|
|
|
|
|
|
games.add(element);
|
|
|
|
|
|
|
|
break;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
return games;
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@override
|
|
|
|
List<GameDetail> getGamesByPlayer(Player user) {
|
|
|
|
List<GameDetail> getGamesByPlayer(Player user) {
|
|
|
|
List<GameDetail> games = [];
|
|
|
|
return parent.gameDetails
|
|
|
|
for (var element in parent.gameDetails) {
|
|
|
|
.where((element) =>
|
|
|
|
for (Player player in element.players) {
|
|
|
|
element.players.any((player) => player is User && user is User && player.id == user.id))
|
|
|
|
if (player is User && user is User && player.id == user.id) {
|
|
|
|
.toList();
|
|
|
|
games.add(element);
|
|
|
|
|
|
|
|
break;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
return games;
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@override
|
|
|
|
List<GameDetail> getGamesByPlayers(List<Player> users) {
|
|
|
|
List<GameDetail> getGamesByPlayers(List<Player> users) {
|
|
|
|
List<GameDetail> games = [];
|
|
|
|
List<GameDetail> games = [];
|
|
|
|
for (var element in parent.gameDetails) {
|
|
|
|
for (var element in parent.gameDetails) {
|
|
|
@ -67,19 +57,16 @@ class GameManager extends IGameManager {
|
|
|
|
return games;
|
|
|
|
return games;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@override
|
|
|
|
List<Player> getPlayersByIdGame(int id) {
|
|
|
|
List<Player> getPlayersByIdGame(int id) {
|
|
|
|
List<Player> players = [];
|
|
|
|
final gameDetails = parent.gameDetails.firstWhere(
|
|
|
|
for (var element in parent.gameDetails) {
|
|
|
|
(element) => element.id == id,
|
|
|
|
if (element.id == id) {
|
|
|
|
orElse: () => throw Exception("Game not found.")
|
|
|
|
for (var player in element.players) {
|
|
|
|
);
|
|
|
|
players.add(player);
|
|
|
|
return gameDetails.players;
|
|
|
|
}
|
|
|
|
|
|
|
|
return players;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
throw Exception("Game not found.");
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@override
|
|
|
|
Map<Player, int> getRankByIdGame(int id) {
|
|
|
|
Map<Player, int> getRankByIdGame(int id) {
|
|
|
|
for (var game in parent.gameDetails) {
|
|
|
|
for (var game in parent.gameDetails) {
|
|
|
|
if (game.id == id) {
|
|
|
|
if (game.id == id) {
|
|
|
|