Fix drawn players

This commit is contained in:
Michel ten Voorde
2024-10-27 17:15:14 +01:00
parent f91c50af7b
commit 5a9b46b298
2 changed files with 18 additions and 55 deletions

View File

@@ -69,23 +69,26 @@ public class Tournament extends AbstractEntity {
.collect(Collectors.toCollection(ArrayList::new));
}
public boolean hasPlayersDrawnOutMaxOnce() {
var drawnOutPlayers = new HashSet<Player>();
public List<Player> getDrawnOutPlayers() {
var drawnOutPlayers = new ArrayList<Player>();
for (var event : events) {
for (var group : event.getGroups()) {
for (var round : group.getRounds()) {
var drawnOut = round.getDrawnOut();
if (drawnOut != null) {
if (!drawnOutPlayers.add(drawnOut.getPlayer1())) {
return false;
}
if (drawnOut.getPlayer2() != null && !drawnOutPlayers.add(drawnOut.getPlayer2())) {
return false;
drawnOutPlayers.add(drawnOut.getPlayer1());
if (drawnOut.getPlayer2() != null) {
drawnOutPlayers.add(drawnOut.getPlayer2());
}
}
}
}
}
return true;
return drawnOutPlayers;
}
public boolean hasPlayersDrawnOutMaxOnce() {
var drawnOutPlayers = this.getDrawnOutPlayers();
return drawnOutPlayers.size() == new HashSet<>(drawnOutPlayers).size();
}
}