diff --git a/PadelClubData/Data/Tournament.swift b/PadelClubData/Data/Tournament.swift index 4d328c2..9c16560 100644 --- a/PadelClubData/Data/Tournament.swift +++ b/PadelClubData/Data/Tournament.swift @@ -1682,12 +1682,14 @@ defer { } public func initSettings(templateTournament: Tournament?, overrideTeamCount: Bool = true) { + courtCount = eventObject()?.clubObject()?.courtCount ?? 2 setupDefaultPrivateSettings(templateTournament: templateTournament) setupUmpireSettings(defaultTournament: nil) //default is not template, default is for event sharing settings if let templateTournament { setupRegistrationSettings(templateTournament: templateTournament, overrideTeamCount: overrideTeamCount) } setupFederalSettings() + customizeUsingPreferences() } public func setupFederalSettings() { @@ -1703,6 +1705,23 @@ defer { } } + public func customizeUsingPreferences() { + guard let lastTournamentWithSameBuild = DataStore.shared.tournaments.filter({ tournament in + tournament.tournamentLevel == self.tournamentLevel + && tournament.tournamentCategory == self.tournamentCategory + && tournament.federalTournamentAge == self.federalTournamentAge + && tournament.hasEnded() == true + && tournament.isCanceled == false + && tournament.isDeleted == false + }).sorted(by: \.endDate!, order: .descending).first else { + return + } + + self.entryFee = lastTournamentWithSameBuild.entryFee + self.clubMemberFeeDeduction = lastTournamentWithSameBuild.clubMemberFeeDeduction + } + + public func deadline(for type: TournamentDeadlineType) -> Date? { guard [.p500, .p1000, .p1500, .p2000].contains(tournamentLevel) else { return nil }