fix small stuff

multistore
Razmig Sarkissian 1 year ago
parent dade6f3118
commit 4748e13bba
  1. 16
      PadelClub/Data/PlayerRegistration.swift
  2. 6
      PadelClub/Data/TeamRegistration.swift
  3. 4
      PadelClub/Data/Tournament.swift
  4. 25
      PadelClub/Utils/FileImportManager.swift

@ -73,13 +73,21 @@ class PlayerRegistration: ModelObject, Storable {
self.source = .frenchFederation self.source = .frenchFederation
} }
internal init(federalData: [String], sex: Int, sexUnknown: Bool) { internal init?(federalData: [String], sex: Int, sexUnknown: Bool) {
lastName = federalData[0].trimmed.uppercased() let _lastName = federalData[0].trimmed.uppercased()
firstName = federalData[1].trimmed.capitalized let _firstName = federalData[1].trimmed.capitalized
if _lastName.isEmpty && _firstName.isEmpty { return nil }
lastName = _lastName
firstName = _firstName
birthdate = federalData[2] birthdate = federalData[2]
licenceId = federalData[3] licenceId = federalData[3]
clubName = federalData[4] clubName = federalData[4]
rank = Int(federalData[5]) let stringRank = federalData[5]
if stringRank.isEmpty {
rank = nil
} else {
rank = Int(stringRank)
}
let _email = federalData[6] let _email = federalData[6]
if _email.isEmpty == false { if _email.isEmpty == false {
self.email = _email self.email = _email

@ -201,8 +201,12 @@ class TeamRegistration: ModelObject, Storable {
} }
func includes(players: [PlayerRegistration]) -> Bool { func includes(players: [PlayerRegistration]) -> Bool {
let unsortedPlayers = unsortedPlayers()
guard players.count == unsortedPlayers.count else { return false }
return players.allSatisfy { player in return players.allSatisfy { player in
includes(player: player) unsortedPlayers.anySatisfy { _player in
_player.isSameAs(player)
}
} }
} }

@ -476,7 +476,7 @@ class Tournament : ModelObject, Storable {
} }
func courtUsed() -> [Int] { func courtUsed() -> [Int] {
#if DEBUG_TIME //DEBUGING TIME #if DEBUG //DEBUGING TIME
let start = Date() let start = Date()
defer { defer {
let duration = Duration.milliseconds(Date().timeIntervalSince(start) * 1_000) let duration = Duration.milliseconds(Date().timeIntervalSince(start) * 1_000)
@ -484,7 +484,7 @@ defer {
} }
#endif #endif
let runningMatches : [Match] = DataStore.shared.matches.filter({ $0.isRunning() }).filter({ $0.tournamentId() == self.id }) let runningMatches : [Match] = DataStore.shared.matches.filter({ $0.tournamentId() == self.id && $0.isRunning() })
return Set(runningMatches.compactMap { $0.courtIndex }).sorted() return Set(runningMatches.compactMap { $0.courtIndex }).sorted()
} }

@ -268,13 +268,17 @@ class FileImportManager {
case .mix: return 1 case .mix: return 1
} }
} }
if tournamentCategory == tournament.tournamentCategory { 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)
playerTwo.setComputedRank(in: tournament) playerTwo?.setComputedRank(in: tournament)
let team = TeamHolder(players: [playerOne, playerTwo], tournamentCategory: tournamentCategory, previousTeam: tournament.findTeam([playerOne, playerTwo]), tournament: tournament)
results.append(team) let players = [playerOne, playerTwo].compactMap({ $0 })
if players.isEmpty == false {
let team = TeamHolder(players: players, tournamentCategory: tournamentCategory, previousTeam: tournament.findTeam(players), tournament: tournament)
results.append(team)
}
} }
} }
} }
@ -320,12 +324,15 @@ class FileImportManager {
} }
let playerOne = PlayerRegistration(federalData: Array(result[0...7]), sex: sexPlayerOne, sexUnknown: sexUnknown) let playerOne = PlayerRegistration(federalData: Array(result[0...7]), sex: sexPlayerOne, sexUnknown: sexUnknown)
playerOne.setComputedRank(in: tournament) playerOne?.setComputedRank(in: tournament)
let playerTwo = PlayerRegistration(federalData: Array(result[8...]), sex: sexPlayerTwo, sexUnknown: sexUnknown) let playerTwo = PlayerRegistration(federalData: Array(result[8...]), sex: sexPlayerTwo, sexUnknown: sexUnknown)
playerTwo.setComputedRank(in: tournament) playerTwo?.setComputedRank(in: tournament)
let team = TeamHolder(players: [playerOne, playerTwo], tournamentCategory: tournamentCategory, previousTeam: tournament.findTeam([playerOne, playerTwo]), tournament: tournament) let players = [playerOne, playerTwo].compactMap({ $0 })
results.append(team) if players.isEmpty == false {
let team = TeamHolder(players: players, tournamentCategory: tournamentCategory, previousTeam: tournament.findTeam(players), tournament: tournament)
results.append(team)
}
} }
} }
} }

Loading…
Cancel
Save