|
|
|
@ -81,12 +81,7 @@ struct TableStructureView: View { |
|
|
|
Text(structurePreset.localizedDescriptionStructurePresetTitle()) |
|
|
|
Text(structurePreset.localizedDescriptionStructurePresetTitle()) |
|
|
|
} |
|
|
|
} |
|
|
|
.onChange(of: structurePreset) { |
|
|
|
.onChange(of: structurePreset) { |
|
|
|
teamCount = structurePreset.tableDimension() + structurePreset.teamsInQualifiers() - structurePreset.qualifiedPerGroupStage() * structurePreset.groupStageCount() |
|
|
|
_updatePreset() |
|
|
|
groupStageCount = structurePreset.groupStageCount() |
|
|
|
|
|
|
|
teamsPerGroupStage = structurePreset.teamsPerGroupStage() |
|
|
|
|
|
|
|
qualifiedPerGroupStage = structurePreset.qualifiedPerGroupStage() |
|
|
|
|
|
|
|
groupStageAdditionalQualified = 0 |
|
|
|
|
|
|
|
buildWildcards = tournament.level.wildcardArePossible() |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
@ -293,9 +288,27 @@ struct TableStructureView: View { |
|
|
|
|
|
|
|
|
|
|
|
Section { |
|
|
|
Section { |
|
|
|
RowButtonView("Remise-à-zéro", role: .destructive) { |
|
|
|
RowButtonView("Remise-à-zéro", role: .destructive) { |
|
|
|
|
|
|
|
tournament.removeWildCards() |
|
|
|
tournament.deleteGroupStages() |
|
|
|
tournament.deleteGroupStages() |
|
|
|
tournament.deleteStructure() |
|
|
|
tournament.deleteStructure() |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if structurePreset != .manual { |
|
|
|
structurePreset = PadelTournamentStructurePreset.manual |
|
|
|
structurePreset = PadelTournamentStructurePreset.manual |
|
|
|
|
|
|
|
} else { |
|
|
|
|
|
|
|
_updatePreset() |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
tournament.teamCount = teamCount |
|
|
|
|
|
|
|
tournament.groupStageCount = groupStageCount |
|
|
|
|
|
|
|
tournament.teamsPerGroupStage = teamsPerGroupStage |
|
|
|
|
|
|
|
tournament.qualifiedPerGroupStage = qualifiedPerGroupStage |
|
|
|
|
|
|
|
tournament.groupStageAdditionalQualified = groupStageAdditionalQualified |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
do { |
|
|
|
|
|
|
|
try dataStore.tournaments.addOrUpdate(instance: tournament) |
|
|
|
|
|
|
|
} catch { |
|
|
|
|
|
|
|
Logger.error(error) |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
@ -444,11 +457,12 @@ struct TableStructureView: View { |
|
|
|
tournament.groupStageAdditionalQualified = groupStageAdditionalQualified |
|
|
|
tournament.groupStageAdditionalQualified = groupStageAdditionalQualified |
|
|
|
|
|
|
|
|
|
|
|
if rebuildEverything { |
|
|
|
if rebuildEverything { |
|
|
|
tournament.deleteAndBuildEverything(preset: structurePreset) |
|
|
|
tournament.removeWildCards() |
|
|
|
if structurePreset.hasWildcards(), buildWildcards { |
|
|
|
if structurePreset.hasWildcards(), buildWildcards { |
|
|
|
tournament.addWildCardIfNeeded(structurePreset.wildcardBrackets(), .bracket) |
|
|
|
tournament.addWildCardIfNeeded(structurePreset.wildcardBrackets(), .bracket) |
|
|
|
tournament.addWildCardIfNeeded(structurePreset.wildcardQualifiers(), .groupStage) |
|
|
|
tournament.addWildCardIfNeeded(structurePreset.wildcardQualifiers(), .groupStage) |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
tournament.deleteAndBuildEverything(preset: structurePreset) |
|
|
|
} else if (rebuildEverything == false && requirements.contains(.groupStage)) { |
|
|
|
} else if (rebuildEverything == false && requirements.contains(.groupStage)) { |
|
|
|
tournament.deleteGroupStages() |
|
|
|
tournament.deleteGroupStages() |
|
|
|
tournament.buildGroupStages() |
|
|
|
tournament.buildGroupStages() |
|
|
|
@ -467,6 +481,15 @@ struct TableStructureView: View { |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
private func _updatePreset() { |
|
|
|
|
|
|
|
teamCount = structurePreset.tableDimension() + structurePreset.teamsInQualifiers() - structurePreset.qualifiedPerGroupStage() * structurePreset.groupStageCount() |
|
|
|
|
|
|
|
groupStageCount = structurePreset.groupStageCount() |
|
|
|
|
|
|
|
teamsPerGroupStage = structurePreset.teamsPerGroupStage() |
|
|
|
|
|
|
|
qualifiedPerGroupStage = structurePreset.qualifiedPerGroupStage() |
|
|
|
|
|
|
|
groupStageAdditionalQualified = 0 |
|
|
|
|
|
|
|
buildWildcards = tournament.level.wildcardArePossible() |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
private func _verifyValueIntegrity() { |
|
|
|
private func _verifyValueIntegrity() { |
|
|
|
if teamCount > 128 { |
|
|
|
if teamCount > 128 { |
|
|
|
teamCount = 128 |
|
|
|
teamCount = 128 |
|
|
|
|