// // CumulatedResults.swift // TournamentStats // // Created by Laurent Morvillier on 03/06/2019. // Copyright © 2019 Stax River. All rights reserved. // import Foundation class CumulatedResults : HTMLRepresentable, ColumnRepresentable { var player: Player var total: Double = 0.0 var numberOfCashes: Int = 0 var results: [Result] = [] var winsCount: Int = 0 init(player: Player, average: Bool = false) { self.player = player for result in player.results { self.add(result: result) } if average { self.total = self.total / Double(self.numberOfCashes) } } func add(result: Result) { self.total += result.earnings self.numberOfCashes += 1 self.results.append(result) if result.rank == 1 { self.winsCount += 1 } } static func columnDescriptors() -> [ColumnDescriptor] { return [ColumnDescriptor(header: "Name", number: false, widthWeight: 2.0), ColumnDescriptor(header: "Total Earnings", number: true, widthWeight: 1.0), ColumnDescriptor(header: "Cashes", number: true, widthWeight: 1.0)] } func cellValues() -> [String] { return [self.player.formattedName, self.total.currencyFormatted, "\(self.numberOfCashes)"] } // 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: "