This commit is contained in:
@@ -183,10 +183,32 @@ public class TournamentPlayService {
|
||||
}
|
||||
}
|
||||
|
||||
public Tournament substitutePlayer(Tournament tournament, Long playerId, Long substituteId) {
|
||||
public Tournament substitutePlayer(Tournament tournament, Long eventId, Long playerId, Long substituteId) {
|
||||
var event = getEvent(tournament, eventId);
|
||||
var tournamentPlayer = getTournamentPlayer(tournament, playerId);
|
||||
var substitute = getTournamentPlayer(tournament, substituteId);
|
||||
|
||||
var substitution = new TournamentPlayerSubstitution();
|
||||
substitution.setEvent(event);
|
||||
substitution.setTournamentPlayer(tournamentPlayer);
|
||||
substitution.setSubstitute(substitute);
|
||||
|
||||
tournamentPlayer.getSubstitutions().add(substitution); //TODO
|
||||
|
||||
tournamentRepository.save(tournament);
|
||||
return tournament;
|
||||
}
|
||||
|
||||
private Event getEvent(Tournament tournament, Long eventId) {
|
||||
for (var event : tournament.getEvents()) {
|
||||
if (event.getId().equals(eventId)) {
|
||||
return event;
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
|
||||
private static class ConflictInDrawException extends RuntimeException {}
|
||||
|
||||
private List<Match> tryMatches(List<Team> remainingTeams, Group group) {
|
||||
@@ -251,7 +273,7 @@ public class TournamentPlayService {
|
||||
match.setStartTime(LocalDateTime.now());
|
||||
match.setCourt(court);
|
||||
|
||||
var countingPlayer = getPlayer(tournament, counter);
|
||||
var countingPlayer = getTournamentPlayer(tournament, counter);
|
||||
countingPlayer.setCounting(true);
|
||||
match.setCounter(countingPlayer.getPlayer());
|
||||
|
||||
@@ -259,7 +281,7 @@ public class TournamentPlayService {
|
||||
return tournament;
|
||||
}
|
||||
|
||||
private TournamentPlayer getPlayer(Tournament tournament, Long playerId) {
|
||||
private TournamentPlayer getTournamentPlayer(Tournament tournament, Long playerId) {
|
||||
for (var tournamentPlayer : tournament.getTournamentPlayers()) {
|
||||
if (playerId.equals(tournamentPlayer.getPlayer().getId())) {
|
||||
return tournamentPlayer;
|
||||
@@ -274,7 +296,7 @@ public class TournamentPlayService {
|
||||
match.setStartTime(null);
|
||||
match.setCourt(null);
|
||||
|
||||
var countingPlayer = getPlayer(tournament, match.getCounter().getId());
|
||||
var countingPlayer = getTournamentPlayer(tournament, match.getCounter().getId());
|
||||
countingPlayer.setCounting(false);
|
||||
match.setCounter(null);
|
||||
|
||||
@@ -294,7 +316,7 @@ public class TournamentPlayService {
|
||||
|
||||
var counter = match.getCounter();
|
||||
if (counter != null) { // match was already saved, this is a correction
|
||||
var countingPlayer = getPlayer(tournament, counter.getId());
|
||||
var countingPlayer = getTournamentPlayer(tournament, counter.getId());
|
||||
countingPlayer.setCounting(false);
|
||||
countingPlayer.incrementCounts();
|
||||
match.setCounter(null);
|
||||
|
||||
Reference in New Issue
Block a user