ajout du min d'équipe pour homologation

ajout d'une option pour terminer les tournois ouverts
newoffer2025
Razmig Sarkissian 3 months ago
parent a04b1983e8
commit beaab645b9
  1. 4
      PadelClubData/Data/Tournament.swift
  2. 60
      PadelClubData/ViewModel/PadelRule.swift

@ -2382,6 +2382,10 @@ defer {
} }
} }
public func minimumNumberOfTeams() -> Int {
return federalTournamentAge.minimumNumberOfTeams(inCategory: tournamentCategory, andInLevel: tournamentLevel)
}
// MARK: - // MARK: -
func insertOnServer() throws { func insertOnServer() throws {

@ -166,6 +166,7 @@ public enum TournamentDifficulty {
public enum FederalTournamentAge: Int, Hashable, Codable, CaseIterable, Identifiable { public enum FederalTournamentAge: Int, Hashable, Codable, CaseIterable, Identifiable {
case unlisted = 0 case unlisted = 0
case a09_10 = 100
case a11_12 = 120 case a11_12 = 120
case a13_14 = 140 case a13_14 = 140
case a15_16 = 160 case a15_16 = 160
@ -184,6 +185,8 @@ public enum FederalTournamentAge: Int, Hashable, Codable, CaseIterable, Identifi
switch self { switch self {
case .unlisted: case .unlisted:
return (nil, nil) return (nil, nil)
case .a09_10:
return (year - 10, year - 9)
case .a11_12: case .a11_12:
return (year - 12, year - 11) return (year - 12, year - 11)
case .a13_14: case .a13_14:
@ -205,6 +208,8 @@ public enum FederalTournamentAge: Int, Hashable, Codable, CaseIterable, Identifi
switch self { switch self {
case .unlisted: case .unlisted:
return "Animation" return "Animation"
case .a09_10:
return "09/10 ans"
case .a11_12: case .a11_12:
return "11/12 ans" return "11/12 ans"
case .a13_14: case .a13_14:
@ -241,6 +246,8 @@ public enum FederalTournamentAge: Int, Hashable, Codable, CaseIterable, Identifi
public var order: Int { public var order: Int {
switch self { switch self {
case .unlisted: case .unlisted:
return 8
case .a09_10:
return 7 return 7
case .a11_12: case .a11_12:
return 6 return 6
@ -263,6 +270,8 @@ public enum FederalTournamentAge: Int, Hashable, Codable, CaseIterable, Identifi
switch self { switch self {
case .unlisted: case .unlisted:
return displayStyle == .title ? "Aucune" : "" return displayStyle == .title ? "Aucune" : ""
case .a09_10:
return "U10"
case .a11_12: case .a11_12:
return "U12" return "U12"
case .a13_14: case .a13_14:
@ -289,14 +298,16 @@ public enum FederalTournamentAge: Int, Hashable, Codable, CaseIterable, Identifi
switch self { switch self {
case .unlisted: case .unlisted:
return true return true
case .a09_10:
return age < 11
case .a11_12: case .a11_12:
return age < 13 return age < 13
case .a13_14: case .a13_14:
return age < 15 return age < 15
case .a15_16: case .a15_16:
return age < 17 return age < 17 && age >= 11
case .a17_18: case .a17_18:
return age < 19 return age < 19 && age >= 11
case .senior: case .senior:
return age >= 11 return age >= 11
case .a45: case .a45:
@ -310,6 +321,8 @@ public enum FederalTournamentAge: Int, Hashable, Codable, CaseIterable, Identifi
switch self { switch self {
case .unlisted: case .unlisted:
return false return false
case .a09_10:
return true
case .a11_12: case .a11_12:
return true return true
case .a13_14: case .a13_14:
@ -326,6 +339,42 @@ public enum FederalTournamentAge: Int, Hashable, Codable, CaseIterable, Identifi
return false return false
} }
} }
func minimumNumberOfTeams(inCategory category: TournamentCategory, andInLevel level: TournamentLevel) -> Int {
if self.isChildCategory() {
if level == .p250, category == .men {
return 8
}
return 4
} else {
switch level {
case .p25, .p100, .p250:
if category == .women {
return 4
}
if level == .p100 {
return 8
}
return 12
case .p500:
if category == .women {
return 8
}
return 16
case .p1000:
if category == .women {
return 16
}
return 24
case .p1500, .p2000:
return 24
default:
return -1
}
}
}
} }
public enum TournamentLevel: Int, Hashable, Codable, CaseIterable, Identifiable { public enum TournamentLevel: Int, Hashable, Codable, CaseIterable, Identifiable {
@ -432,7 +481,12 @@ public enum TournamentLevel: Int, Hashable, Codable, CaseIterable, Identifiable
} }
} }
public func minimumPlayerRank(category: TournamentCategory, ageCategory: FederalTournamentAge) -> Int { public func minimumPlayerRank(category: TournamentCategory, ageCategory: FederalTournamentAge, seasonYear: Int) -> Int {
if seasonYear == 2026, category == .mix {
return 0
}
switch self { switch self {
case .p25: case .p25:
switch ageCategory { switch ageCategory {

Loading…
Cancel
Save