fix some import stuff

add event contact sharing
sync3
Razmig Sarkissian 5 months ago
parent 64a324608d
commit f7cc4ffa87
  1. 36
      PadelClubData/Data/Event.swift
  2. 4
      PadelClubData/Data/GroupStage.swift
  3. 19
      PadelClubData/Data/PlayerRegistration.swift
  4. 2
      PadelClubData/Data/TeamRegistration.swift
  5. 6
      PadelClubData/Data/Tournament.swift

@ -156,6 +156,42 @@ final public class Event: BaseEvent {
return "Du \(startDay) \(startMonthYear) au \(endDay) \(endMonthYear)"
}
}
public func tournamentInformation() -> String? {
confirmedTournaments().first?.information
}
public func eventLinksPasteData() -> String {
let tournaments = self.confirmedTournaments()
var link = [String?]()
link.append(eventTitle())
link.append(tournamentInformation())
if let url = shareURL() {
var tournamentLink = [String]()
tournamentLink.append("Lien de l'événement")
tournamentLink.append(url.absoluteString)
let eventLink = tournamentLink.joined(separator: "\n")
link.append(eventLink)
}
link.append("Retrouvez toutes les infos en suivant le\(tournaments.count.pluralSuffix) lien\(tournaments.count.pluralSuffix) ci-dessous :")
link.append(tournaments.compactMap({ tournament in
if let url = tournament.shareURL(.info) {
var tournamentLink = [String]()
tournamentLink.append(tournament.tournamentTitle(.title))
tournamentLink.append(url.absoluteString)
return tournamentLink.joined(separator: "\n")
} else {
return nil
}
}).joined(separator: "\n\n"))
return link.compactMap({ $0 }).joined(separator: "\n\n")
}
func insertOnServer() throws {
DataStore.shared.events.writeChangeAndInsertOnServer(instance: self)

@ -537,6 +537,10 @@ final public class GroupStage: BaseGroupStage, SideStorable {
public func clearScoreCache() {
scoreCache.removeAll()
}
var computedStartDateForSorting: Date {
startDate ?? computedStartDate() ?? .distantFuture
}
// public func teams(_ sortedByScore: Bool = false, scores: [TeamGroupStageScore]? = nil) -> [TeamRegistration] {
// if sortedByScore {

@ -89,8 +89,14 @@ final public class PlayerRegistration: BasePlayerRegistration, SideStorable {
}
public func isSameAs(_ player: PlayerRegistration) -> Bool {
firstName.trimmedMultiline.canonicalVersion.localizedCaseInsensitiveCompare(player.firstName.trimmedMultiline.canonicalVersion) == .orderedSame &&
lastName.trimmedMultiline.canonicalVersion.localizedCaseInsensitiveCompare(player.lastName.trimmedMultiline.canonicalVersion) == .orderedSame
if let licenceId, let playerLicenceId = player.licenceId {
let result = licenceId.strippedLicense == playerLicenceId.strippedLicense
if result {
return result
}
}
return firstName.trimmedMultiline.canonicalVersion.localizedCaseInsensitiveCompare(player.firstName.trimmedMultiline.canonicalVersion) == .orderedSame &&
lastName.trimmedMultiline.canonicalVersion.localizedCaseInsensitiveCompare(player.lastName.trimmedMultiline.canonicalVersion) == .orderedSame
}
public func tournament() -> Tournament? {
@ -158,11 +164,14 @@ final public class PlayerRegistration: BasePlayerRegistration, SideStorable {
}
}
public func setComputedRank(in tournament: Tournament) {
let currentRank = rank ?? tournament.unrankValue(for: isMalePlayer()) ?? 90_000
public func setComputedRank(in tournament: Tournament) {
let maleUnranked = tournament.unrankValue(for: isMalePlayer()) ?? 90_415
let femaleUnranked = tournament.unrankValue(for: false) ?? 0
let currentRank = rank ?? maleUnranked
switch tournament.tournamentCategory {
case .men:
computedRank = isMalePlayer() ? currentRank : currentRank + PlayerRegistration.addon(for: currentRank, manMax: tournament.maleUnrankedValue ?? 0, womanMax: tournament.femaleUnrankedValue ?? 0)
let addon = PlayerRegistration.addon(for: currentRank, manMax: maleUnranked, womanMax: femaleUnranked)
computedRank = isMalePlayer() ? currentRank : currentRank + addon
default:
computedRank = currentRank
}

@ -542,7 +542,7 @@ final public class TeamRegistration: BaseTeamRegistration, SideStorable {
}
public func unrankValue(for malePlayer: Bool) -> Int {
return tournamentObject()?.unrankValue(for: malePlayer) ?? 90_000
return tournamentObject()?.unrankValue(for: malePlayer) ?? 90_415
}
public func groupStageObject() -> GroupStage? {

@ -616,6 +616,9 @@ defer {
return waitingListTeams(in: teams, includingWalkOuts: false)
}
public func allTeamsWithoutWalkOut() -> [TeamRegistration] {
return unsortedTeams().filter({ !$0.walkOut })
}
public func selectedSortedTeams() -> [TeamRegistration] {
#if _DEBUG_TIME //DEBUGING TIME
@ -2309,6 +2312,9 @@ defer {
return matchCountPerDay
}
public func groupStageStartDate() -> Date? {
groupStages().sorted(by: \.computedStartDateForSorting).first?.startDate
}
// MARK: -

Loading…
Cancel
Save