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