fix multi import

multistore
Razmig Sarkissian 1 year ago
parent a84ddc539f
commit 1dc2b1a7d6
  1. 5
      PadelClub/Utils/FileImportManager.swift
  2. 16
      PadelClub/Views/Tournament/FileImportView.swift
  3. 3
      PadelClub/Views/Tournament/Screen/TableStructureView.swift

@ -268,7 +268,7 @@ class FileImportManager {
case .mix: return 1 case .mix: return 1
} }
} }
if tournamentCategory == tournament.tournamentCategory {
let playerOne = PlayerRegistration(federalData: Array(resultOne[0...7]), sex: sexPlayerOne, sexUnknown: sexUnknown) let playerOne = PlayerRegistration(federalData: Array(resultOne[0...7]), sex: sexPlayerOne, sexUnknown: sexUnknown)
playerOne.setComputedRank(in: tournament) playerOne.setComputedRank(in: tournament)
let playerTwo = PlayerRegistration(federalData: Array(resultTwo[0...7]), sex: sexPlayerTwo, sexUnknown: sexUnknown) let playerTwo = PlayerRegistration(federalData: Array(resultTwo[0...7]), sex: sexPlayerTwo, sexUnknown: sexUnknown)
@ -278,6 +278,7 @@ class FileImportManager {
} }
} }
} }
}
return results return results
} else { } else {
lines.dropFirst().forEach { line in lines.dropFirst().forEach { line in
@ -297,6 +298,7 @@ class FileImportManager {
return .men return .men
} }
} }
if tournamentCategory == tournament.tournamentCategory {
let result = Array(data.dropFirst(3).dropLast()) let result = Array(data.dropFirst(3).dropLast())
var sexPlayerOne : Int { var sexPlayerOne : Int {
@ -326,6 +328,7 @@ class FileImportManager {
results.append(team) results.append(team)
} }
} }
}
return results return results
} }
} }

@ -227,6 +227,15 @@ struct FileImportView: View {
} }
.onChange(of: tournament.tournamentCategory) { .onChange(of: tournament.tournamentCategory) {
_save() _save()
Task {
if let fileContent {
do {
try await _startImport(fileContent: fileContent)
} catch {
errorMessage = error.localizedDescription
}
}
}
} }
} }
} else if teams.isEmpty && didImport == true { } else if teams.isEmpty && didImport == true {
@ -428,7 +437,12 @@ struct FileImportView: View {
await MonthData.calculateCurrentUnrankedValues(mostRecentDateAvailable: rankSourceDate) await MonthData.calculateCurrentUnrankedValues(mostRecentDateAvailable: rankSourceDate)
} }
self.teams = try await FileImportManager.shared.createTeams(from: fileContent, tournament: tournament, fileProvider: fileProvider) let tournaments = tournament.eventObject()?.tournaments ?? [tournament]
for tournament in tournaments {
let _teams = try await FileImportManager.shared.createTeams(from: fileContent, tournament: tournament, fileProvider: fileProvider)
self.teams += _teams
}
await MainActor.run { await MainActor.run {
didImport = true didImport = true
} }

@ -135,6 +135,8 @@ struct TableStructureView: View {
} }
} }
if tournament.state() != .initial {
Section { Section {
RowButtonView("Sauver sans reconstuire l'existant") { RowButtonView("Sauver sans reconstuire l'existant") {
_saveWithoutRebuild() _saveWithoutRebuild()
@ -153,6 +155,7 @@ struct TableStructureView: View {
} }
} }
} }
}
.focused($stepperFieldIsFocused) .focused($stepperFieldIsFocused)
.onChange(of: stepperFieldIsFocused) { .onChange(of: stepperFieldIsFocused) {
if stepperFieldIsFocused { if stepperFieldIsFocused {

Loading…
Cancel
Save