Fix drawn players

This commit is contained in:
Michel ten Voorde
2024-10-25 14:32:05 +02:00
parent 8af99e29ee
commit f91c50af7b
4 changed files with 34 additions and 274 deletions

View File

@@ -1,6 +1,7 @@
package nl.connectedit.swiss.domain.entity;
import jakarta.persistence.*;
import java.util.HashSet;
import lombok.Getter;
import lombok.Setter;
import nl.connectedit.swiss.domain.EventType;
@@ -68,4 +69,23 @@ public class Tournament extends AbstractEntity {
.collect(Collectors.toCollection(ArrayList::new));
}
public boolean hasPlayersDrawnOutMaxOnce() {
var drawnOutPlayers = new HashSet<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;
}
}
}
}
}
return true;
}
}