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