parent
749d4fbaf0
commit
664aca641b
@ -0,0 +1,69 @@ |
|||||||
|
// |
||||||
|
// CumulatedResults.swift |
||||||
|
// TournamentStats |
||||||
|
// |
||||||
|
// Created by Laurent Morvillier on 03/06/2019. |
||||||
|
// Copyright © 2019 Stax River. All rights reserved. |
||||||
|
// |
||||||
|
|
||||||
|
import Foundation |
||||||
|
|
||||||
|
class CumulatedWins : HTMLRepresentable, ColumnRepresentable { |
||||||
|
|
||||||
|
enum Fields : String, CaseIterable { |
||||||
|
case name = "Name" |
||||||
|
case wins = "Wins" |
||||||
|
case earnings = "Total Earnings" |
||||||
|
} |
||||||
|
|
||||||
|
var player: Player |
||||||
|
var total: Double = 0.0 |
||||||
|
// var results: [Result] = [] |
||||||
|
var winsCount: Int = 0 |
||||||
|
var numberOfCashes: Int = 0 |
||||||
|
|
||||||
|
init(player: Player) { |
||||||
|
self.player = player |
||||||
|
for result in player.results { |
||||||
|
self.add(result: result) |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
func add(result: Result) { |
||||||
|
self.total += result.earnings |
||||||
|
// self.results.append(result) |
||||||
|
self.numberOfCashes += 1 |
||||||
|
if result.rank == 1 { |
||||||
|
self.winsCount += 1 |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
static func headers() -> [String] { |
||||||
|
return Fields.allCases.map { $0.rawValue } |
||||||
|
} |
||||||
|
|
||||||
|
func colums() -> [String] { |
||||||
|
return [self.player.formattedName, "\(self.winsCount)", self.total.currencyFormatted] |
||||||
|
} |
||||||
|
|
||||||
|
// static func htmlHeaders() -> String { |
||||||
|
// var strings: [String] = [] |
||||||
|
// strings.append("Name") |
||||||
|
//// strings.append("Places (Year)") |
||||||
|
// strings.append("Total Earnings") |
||||||
|
// strings.append("Cashes") |
||||||
|
// let all = strings.joined(separator: "</td><td>") |
||||||
|
// return "<tr class=\"table-header\"><td>\(all)</td></tr>" |
||||||
|
// } |
||||||
|
// |
||||||
|
// func html() -> String { |
||||||
|
// var strings: [String] = [] |
||||||
|
// strings.append(self.player.formattedName) |
||||||
|
//// strings.append(self.results.map { "\($0.rank.rankFormatted) (\($0.tournaments.first?.date.year ?? ""))" }.joined(separator: ", ")) |
||||||
|
// strings.append(self.total.currencyFormatted) |
||||||
|
// strings.append("\(self.numberOfCashes)") |
||||||
|
// let all = strings.joined(separator: "</td><td>") |
||||||
|
// return "<tr><td>\(all)</td></tr>" |
||||||
|
// } |
||||||
|
|
||||||
|
} |
||||||
Loading…
Reference in new issue