@ -101,13 +101,15 @@ class FileImportManager {
let players : Set < PlayerRegistration >
let players : Set < PlayerRegistration >
let weight : Int
let weight : Int
let tournamentCategory : TournamentCategory
let tournamentCategory : TournamentCategory
let tournamentAgeCategory : FederalTournamentAge
let previousTeam : TeamRegistration ?
let previousTeam : TeamRegistration ?
var registrationDate : Date ? = nil
var registrationDate : Date ? = nil
var name : String ? = nil
var name : String ? = nil
init ( players : [ PlayerRegistration ] , tournamentCategory : TournamentCategory , previousTeam : TeamRegistration ? , registrationDate : Date ? = nil , name : String ? = nil , tournament : Tournament ) {
init ( players : [ PlayerRegistration ] , tournamentCategory : TournamentCategory , tournamentAgeCategory : FederalTournamentAge , previousTeam : TeamRegistration ? , registrationDate : Date ? = nil , name : String ? = nil , tournament : Tournament ) {
self . players = Set ( players )
self . players = Set ( players )
self . tournamentCategory = tournamentCategory
self . tournamentCategory = tournamentCategory
self . tournamentAgeCategory = tournamentAgeCategory
self . name = name
self . name = name
self . previousTeam = previousTeam
self . previousTeam = previousTeam
if players . count < 2 {
if players . count < 2 {
@ -247,6 +249,11 @@ class FileImportManager {
}
}
}
}
let ageCategory = dataOne [ 1 ]
var tournamentAgeCategory : FederalTournamentAge {
FederalTournamentAge . allCases . first ( where : { $0 . importingRawValue . canonicalVersion = = ageCategory . canonicalVersion } ) ? ? . senior
}
let resultOne = Array ( dataOne . dropFirst ( 3 ) . dropLast ( ) )
let resultOne = Array ( dataOne . dropFirst ( 3 ) . dropLast ( ) )
let resultTwo = Array ( dataTwo . dropFirst ( 3 ) . dropLast ( ) )
let resultTwo = Array ( dataTwo . dropFirst ( 3 ) . dropLast ( ) )
let sexUnknown : Bool = ( resultOne . last ? . hasPrefix ( FileImportManager . FFT_ASSIMILATION_WOMAN_IN_MAN ) = = true ) || ( resultTwo . last ? . hasPrefix ( FileImportManager . FFT_ASSIMILATION_WOMAN_IN_MAN ) = = true )
let sexUnknown : Bool = ( resultOne . last ? . hasPrefix ( FileImportManager . FFT_ASSIMILATION_WOMAN_IN_MAN ) = = true ) || ( resultTwo . last ? . hasPrefix ( FileImportManager . FFT_ASSIMILATION_WOMAN_IN_MAN ) = = true )
@ -268,7 +275,7 @@ class FileImportManager {
case . mix : return 1
case . mix : return 1
}
}
}
}
if tournamentCategory = = tournament . tournamentCategory || checkingCategoryDisabled {
if ( tournamentCategory = = tournament . tournamentCategory && tournamentAgeCategory = = tournament . federalTournamentAge ) || checkingCategoryDisabled {
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 )
@ -276,7 +283,7 @@ class FileImportManager {
let players = [ playerOne , playerTwo ] . compactMap ( { $0 } )
let players = [ playerOne , playerTwo ] . compactMap ( { $0 } )
if players . isEmpty = = false {
if players . isEmpty = = false {
let team = TeamHolder ( players : players , tournamentCategory : tournamentCategory , previousTeam : tournament . findTeam ( players ) , tournament : tournament )
let team = TeamHolder ( players : players , tournamentCategory : tournamentCategory , tournamentAgeCategory : tournamentAgeCategory , previousTeam : tournament . findTeam ( players ) , tournament : tournament )
results . append ( team )
results . append ( team )
}
}
}
}
@ -302,7 +309,14 @@ class FileImportManager {
return . men
return . men
}
}
}
}
if tournamentCategory = = tournament . tournamentCategory || checkingCategoryDisabled {
let ageCategory = data [ 1 ]
var tournamentAgeCategory : FederalTournamentAge {
FederalTournamentAge . allCases . first ( where : { $0 . importingRawValue . canonicalVersion = = ageCategory . canonicalVersion } ) ? ? . senior
}
if ( tournamentCategory = = tournament . tournamentCategory && tournamentAgeCategory = = tournament . federalTournamentAge ) || checkingCategoryDisabled {
let result = Array ( data . dropFirst ( 3 ) . dropLast ( ) )
let result = Array ( data . dropFirst ( 3 ) . dropLast ( ) )
var sexPlayerOne : Int {
var sexPlayerOne : Int {
@ -330,7 +344,7 @@ class FileImportManager {
let players = [ playerOne , playerTwo ] . compactMap ( { $0 } )
let players = [ playerOne , playerTwo ] . compactMap ( { $0 } )
if players . isEmpty = = false {
if players . isEmpty = = false {
let team = TeamHolder ( players : players , tournamentCategory : tournamentCategory , previousTeam : tournament . findTeam ( players ) , tournament : tournament )
let team = TeamHolder ( players : players , tournamentCategory : tournamentCategory , tournamentAgeCategory : tournamentAgeCategory , previousTeam : tournament . findTeam ( players ) , tournament : tournament )
results . append ( team )
results . append ( team )
}
}
}
}
@ -378,7 +392,7 @@ class FileImportManager {
return nil
return nil
}
}
let team = TeamHolder ( players : registeredPlayers , tournamentCategory : tournament . tournamentCategory , previousTeam : tournament . findTeam ( registeredPlayers ) , registrationDate : registrationDate , tournament : tournament )
let team = TeamHolder ( players : registeredPlayers , tournamentCategory : tournament . tournamentCategory , tournamentAgeCategory : tournament . federalTournamentAge , previousTeam : tournament . findTeam ( registeredPlayers ) , registrationDate : registrationDate , tournament : tournament )
results . append ( team )
results . append ( team )
}
}
}
}
@ -412,7 +426,7 @@ class FileImportManager {
return player
return player
}
}
return TeamHolder ( players : players , tournamentCategory : . men , previousTeam : nil , name : teamName , tournament : tournament )
return TeamHolder ( players : players , tournamentCategory : . men , tournamentAgeCategory : . senior , previousTeam : nil , name : teamName , tournament : tournament )
}
}
return results
return results
}
}