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. 19
      PadelClub/Utils/FileImportManager.swift

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

@ -201,8 +201,12 @@ class TeamRegistration: ModelObject, Storable {
}
func includes(players: [PlayerRegistration]) -> Bool {
let unsortedPlayers = unsortedPlayers()
guard players.count == unsortedPlayers.count else { return false }
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] {
#if DEBUG_TIME //DEBUGING TIME
#if DEBUG //DEBUGING TIME
let start = Date()
defer {
let duration = Duration.milliseconds(Date().timeIntervalSince(start) * 1_000)
@ -484,7 +484,7 @@ defer {
}
#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()
}

@ -270,15 +270,19 @@ class FileImportManager {
}
if tournamentCategory == tournament.tournamentCategory {
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)
playerTwo.setComputedRank(in: tournament)
let team = TeamHolder(players: [playerOne, playerTwo], tournamentCategory: tournamentCategory, previousTeam: tournament.findTeam([playerOne, playerTwo]), tournament: tournament)
playerTwo?.setComputedRank(in: tournament)
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)
}
}
}
}
}
return results
} else {
lines.dropFirst().forEach { line in
@ -320,15 +324,18 @@ class FileImportManager {
}
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)
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 })
if players.isEmpty == false {
let team = TeamHolder(players: players, tournamentCategory: tournamentCategory, previousTeam: tournament.findTeam(players), tournament: tournament)
results.append(team)
}
}
}
}
return results
}
}

Loading…
Cancel
Save