From 715c1b69e073310ea49904da1d8816005abf5794 Mon Sep 17 00:00:00 2001 From: Raz Date: Sun, 9 Feb 2025 17:47:02 +0100 Subject: [PATCH] fix issue with remove all seeds --- PadelClub/Data/Tournament.swift | 29 ++++++++++++++++++++++------- 1 file changed, 22 insertions(+), 7 deletions(-) diff --git a/PadelClub/Data/Tournament.swift b/PadelClub/Data/Tournament.swift index 18d9245..1869399 100644 --- a/PadelClub/Data/Tournament.swift +++ b/PadelClub/Data/Tournament.swift @@ -2415,27 +2415,42 @@ defer { } func removeAllSeeds() async { - unsortedTeams().forEach({ team in + let teams = unsortedTeams() + teams.forEach({ team in team.bracketPosition = nil + team._cachedRestingTime = nil }) - let ts = allRoundMatches().flatMap { match in + let allMatches = allRoundMatches() + let ts = allMatches.flatMap { match in match.teamScores } - + allMatches.forEach { match in + match.disabled = false + match.losingTeamId = nil + match.winningTeamId = nil + match.endDate = nil + match.removeCourt() + match.servingTeamId = nil + } + do { try tournamentStore.teamScores.delete(contentOfs: ts) } catch { Logger.error(error) } + do { - try tournamentStore.teamRegistrations.addOrUpdate(contentOfs: unsortedTeams()) + try tournamentStore.matches.addOrUpdate(contentOfs: allMatches) } catch { Logger.error(error) } - allRounds().forEach({ round in - round.enableRound() - }) + do { + try tournamentStore.teamRegistrations.addOrUpdate(contentOfs: teams) + } catch { + Logger.error(error) + } + updateTournamentState() } func addNewRound(_ roundIndex: Int) async {