Cleaner code ♻️
continuous-integration/drone/push Build is passing Details

deployed
Emre KARTAL 2 years ago
parent 891c661dbb
commit f49ef5bac5

@ -11,7 +11,7 @@ abstract class IManager {
late final IUserManager _userMgr;
late final IGameManager _gameMgr;
// Getters and setters
// Getters and settersz
User get userCurrent => _userCurrent;
set userCurrent(User user) {

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

@ -27,6 +27,7 @@ class UserManager extends IUserManager {
}
}
@override
saveUser(User user) async {
var result = await parent.database.readUser(0);
if (result == null) {
@ -36,15 +37,6 @@ class UserManager extends IUserManager {
}
}
Map<String, dynamic> userToMap(User user) {
return {
'_id': user.id,
'name': user.name,
'image': user.image,
'_mail': user.mail,
};
}
@override
List<User> getRankingWithFriends() {
List<User> sortedPlayers = List.from(parent.userCurrent.friends);
@ -54,13 +46,11 @@ class UserManager extends IUserManager {
@override
Player getUserById(int id) {
// TODO: implement getUserById
throw UnimplementedError();
}
@override
List<Player> getUsersByName(String name) {
// TODO: implement getUsersByName
throw UnimplementedError();
}
}

@ -13,6 +13,7 @@ class UserManager extends IUserManager {
UserManager(this.parent) : super(AuthManager(parent));
// Methods
@override
List<Player> getUsersByName(String name) {
List<Player> players = [];
for (var player in parent.players) {
@ -23,6 +24,7 @@ class UserManager extends IUserManager {
return players;
}
@override
Player getUserById(int id) {
for (var player in parent.players) {
if (player is User && player.id == id) {

Loading…
Cancel
Save