add stat view for event / tournament

newoffer2025
Razmig Sarkissian 5 months ago
parent 6514618996
commit e5f7cbfcd1
  1. 4
      PadelClubData/Data/Event.swift
  2. 13
      PadelClubData/Data/PlayerRegistration.swift
  3. 9
      PadelClubData/Data/Tournament.swift
  4. 1
      PadelClubData/ViewModel/Screen.swift

@ -100,6 +100,10 @@ final public class Event: BaseEvent {
tournaments.filter({ $0.isFree() == false && $0.isCanceled == false && $0.isDeleted == false })
}
public func confirmedTournaments() -> [Tournament] {
tournaments.filter({ $0.isCanceled == false && $0.isDeleted == false })
}
public func shareURL() -> URL? {
return URL(string: URLs.main.url.appending(path: "event/\(id)").absoluteString.removingPercentEncoding!)
}

@ -230,7 +230,18 @@ final public class PlayerRegistration: BasePlayerRegistration, SideStorable {
return 0.0
}
}
public func totalIncome(_ tournament: Tournament) -> Double {
if let entryFee = tournament.entryFee {
if clubMember, let clubMemberFeeDeduction = tournament.clubMemberFeeDeduction {
return entryFee - clubMemberFeeDeduction
} else {
return entryFee
}
} else {
return 0.0
}
}
public enum PlayerDataSource: Int, Codable {
case frenchFederation = 0

@ -1235,6 +1235,15 @@ defer {
public func remainingAmount() -> Double {
return selectedPlayers().compactMap { $0.remainingAmount(self) }.reduce(0.0, +)
}
public func totalIncome() -> Double {
if let entryFee {
return Double(teamCount) * entryFee * 2.0
} else {
return 0.0
}
}
public func paidCompletion() -> Double {
let selectedPlayers = selectedPlayers()

@ -23,4 +23,5 @@ public enum Screen: String, Codable {
case share
case restingTime
case stateSettings
case statistics
}

Loading…
Cancel
Save