Registreer TournamentPlayer gelijk bij inschrijven
All checks were successful
Gitea/swiss-backend/pipeline/head This commit looks good
All checks were successful
Gitea/swiss-backend/pipeline/head This commit looks good
This commit is contained in:
@@ -95,7 +95,7 @@ public class TestController {
|
||||
var eventIdHE = tournament.getEvents().stream().filter(event -> event.getType().equals("HE")).findFirst().get().getId();
|
||||
var eventIdDE = tournament.getEvents().stream().filter(event -> event.getType().equals("DE")).findFirst().get().getId();
|
||||
|
||||
for (var player : getPlayers()) {
|
||||
for (var player : getPlayers().subList(0, 31)) {
|
||||
var tournamentRegistrationDto = new TournamentRegistrationDto();
|
||||
tournamentRegistrationDto.setId(tournament.getId());
|
||||
var eventRegistrationDto = new EventRegistrationDto();
|
||||
@@ -162,7 +162,7 @@ public class TestController {
|
||||
|
||||
private TournamentDto getTournament() {
|
||||
var tournamentDto = new TournamentDto();
|
||||
tournamentDto.setName("Testtoernooi");
|
||||
tournamentDto.setName("Testtoernooi aangemaakt op " + LocalDate.now().format(DateTimeFormatter.ofPattern("dd-MM-yyyy")));
|
||||
tournamentDto.setDate("14-12-2024");
|
||||
tournamentDto.setStatus("UPCOMING");
|
||||
tournamentDto.setMaxEvents(2L);
|
||||
|
||||
@@ -31,7 +31,7 @@ public class TournamentPlayer extends AbstractEntity {
|
||||
|
||||
private boolean counting;
|
||||
|
||||
private Long counts;
|
||||
private Long counts = 0L;
|
||||
|
||||
public void incrementCounts() {
|
||||
this.counts++;
|
||||
|
||||
@@ -1,14 +1,11 @@
|
||||
package nl.connectedit.swiss.service;
|
||||
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import nl.connectedit.swiss.domain.entity.Player;
|
||||
import nl.connectedit.swiss.domain.entity.Registration;
|
||||
import nl.connectedit.swiss.domain.entity.Tournament;
|
||||
import nl.connectedit.swiss.domain.entity.*;
|
||||
import nl.connectedit.swiss.dto.EventRegistrationDto;
|
||||
import nl.connectedit.swiss.repository.RegistrationRepository;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.ArrayList;
|
||||
|
||||
@Service
|
||||
@RequiredArgsConstructor
|
||||
@@ -23,6 +20,7 @@ public class RegistrationService {
|
||||
|
||||
if (!eventRegistration.isRegistered()) { // remove any existing registration
|
||||
event.getRegistrations().removeIf(registration -> registration.getPlayer().equals(player));
|
||||
removeEventFromTournamentPlayer(tournament, player, event);
|
||||
} else {
|
||||
var optionalExistingPlayerRegistration = event.getRegistrations().stream()
|
||||
.filter(registration -> registration.getPlayer().equals(player))
|
||||
@@ -32,14 +30,15 @@ public class RegistrationService {
|
||||
newRegistration.setTournament(tournament);
|
||||
newRegistration.setEvent(event);
|
||||
newRegistration.setPlayer(player);
|
||||
if (eventRegistration.getPartner() != null){
|
||||
if (eventRegistration.getPartner() != null) {
|
||||
var partner = playerService.findPlayerById(eventRegistration.getPartner());
|
||||
newRegistration.setPartner(partner);
|
||||
}
|
||||
event.addRegistration(newRegistration);
|
||||
addEventToTournamentPlayer(tournament, player, event);
|
||||
} else { // change existing registration
|
||||
var existingPlayerRegistration = optionalExistingPlayerRegistration.get();
|
||||
if (eventRegistration.getPartner() != null){
|
||||
if (eventRegistration.getPartner() != null) {
|
||||
var partner = playerService.findPlayerById(eventRegistration.getPartner());
|
||||
existingPlayerRegistration.setPartner(partner);
|
||||
} else {
|
||||
@@ -50,4 +49,34 @@ public class RegistrationService {
|
||||
|
||||
tournamentService.saveTournament(tournament);
|
||||
}
|
||||
|
||||
private void removeEventFromTournamentPlayer(Tournament tournament, Player player, Event event) {
|
||||
var tournamentPlayer = findOrAddTournamentPlayer(tournament, player);
|
||||
tournamentPlayer.getEvents().removeIf(eventType -> eventType.equals(event.getType().name()));
|
||||
}
|
||||
|
||||
private void addEventToTournamentPlayer(Tournament tournament, Player player, Event event) {
|
||||
var tournamentPlayer = findOrAddTournamentPlayer(tournament, player);
|
||||
tournamentPlayer.getEvents().add(event.getType().name());
|
||||
}
|
||||
|
||||
private TournamentPlayer findOrAddTournamentPlayer(Tournament tournament, Player player) {
|
||||
for (var tournamentPlayer : tournament.getTournamentPlayers()) {
|
||||
if (tournamentPlayer.getPlayer().getId().equals(player.getId())) {
|
||||
return tournamentPlayer;
|
||||
}
|
||||
}
|
||||
|
||||
return registerTournamentPlayer(tournament, player);
|
||||
}
|
||||
|
||||
private TournamentPlayer registerTournamentPlayer(Tournament tournament, Player player) {
|
||||
var tournamentPlayer = new TournamentPlayer();
|
||||
tournamentPlayer.setTournament(tournament);
|
||||
tournamentPlayer.setPlayer(player);
|
||||
tournamentPlayer.setEvents(new ArrayList<>());
|
||||
tournament.getTournamentPlayers().add(tournamentPlayer);
|
||||
|
||||
return tournamentPlayer;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -31,7 +31,7 @@ public class TournamentDrawService {
|
||||
}
|
||||
}
|
||||
|
||||
registerTournamentPlayers(tournament);
|
||||
// registerTournamentPlayers(tournament);
|
||||
|
||||
tournament.setStatus(TournamentStatus.DRAWN);
|
||||
|
||||
@@ -78,7 +78,7 @@ public class TournamentDrawService {
|
||||
}
|
||||
}
|
||||
|
||||
tournament.getTournamentPlayers().clear();
|
||||
// tournament.getTournamentPlayers().clear();
|
||||
|
||||
tournament.setStatus(TournamentStatus.DIVIDED);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user