From 9022572b7e8061a8b9890f6579f07ed0df464304 Mon Sep 17 00:00:00 2001 From: mh378 <mh378@hdm-stuttgart.de> Date: Mon, 8 Jan 2024 19:24:13 +0100 Subject: [PATCH] 08.01.2024 - added method updateTeamScore to Service #24 --- .../sthbackend/service/TournamentService.java | 26 ++++++++++++++++--- 1 file changed, 23 insertions(+), 3 deletions(-) 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 757f74f..7fbf188 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 */ -- GitLab