diff --git a/sth-backend/src/main/java/hdm/mi/sthbackend/service/TournamentService.java b/sth-backend/src/main/java/hdm/mi/sthbackend/service/TournamentService.java index 757f74f57002f796e2aeba5e48b441533e6e058f..7fbf18807a8ecabf07e691094f6051a4b030f5a1 100644 --- a/sth-backend/src/main/java/hdm/mi/sthbackend/service/TournamentService.java +++ b/sth-backend/src/main/java/hdm/mi/sthbackend/service/TournamentService.java @@ -183,11 +183,31 @@ public class TournamentService { log.debug("Team " + teamId + " assign to Match " + matchId + " in Tournament " + tournamentId); } + + public void updateTeamScore(UUID tournamentId, UUID matchId, UUID teamId, int newScore)throws TournamentIdNotFoundException, MatchIdNotFoundException, TeamIdNotFoundException{ + Tournament tournament = tournamentRepository.findById(tournamentId) + .orElseThrow(() -> new TournamentIdNotFoundException(tournamentId)); + + Match match = tournament.getMatches().stream() + .filter(m -> m.getMatchId().equals(matchId)) + .findFirst() + .orElseThrow(() -> new MatchIdNotFoundException(matchId)); + + if (!match.getTeamScores().containsKey(teamId)) { + throw new TeamIdNotFoundException(teamId); + } + match.getTeamScores().put(teamId, newScore); + tournamentRepository.save(tournament); + log.debug("Score von Team " + teamId + " auf " + newScore + " geupdatet"); + } + /* Weitere Methoden: - Gewinner bestimmen, defineWinner() - Teams Matches zuordnen, - + UpdateTeamScore Marius + Tunier beenden + GetTournament Leon + DeleteTournament Leon + User Mattis */