diff --git a/TournamentStats/AppDelegate.swift b/TournamentStats/AppDelegate.swift
index 74faa04..51524e0 100644
--- a/TournamentStats/AppDelegate.swift
+++ b/TournamentStats/AppDelegate.swift
@@ -44,7 +44,7 @@ class AppDelegate: UIResponder, UIApplicationDelegate, UISplitViewControllerDele
print("start report generation...")
let s = Date()
let generator = ReportGenerator()
- generator.go(importData: true)
+ generator.go(importData: false)
let d = Date().timeIntervalSince(s)
print("reports created in \(d)s")
diff --git a/TournamentStats/UI/Fonts.swift b/TournamentStats/UI/Fonts.swift
index 1caa8e1..9cd9ea3 100644
--- a/TournamentStats/UI/Fonts.swift
+++ b/TournamentStats/UI/Fonts.swift
@@ -11,14 +11,22 @@ import UIKit
class Fonts {
- static let monospaced: UIFont = UIFont(name: "Menlo-Regular", size: 18.0)! // UIFont.systemFont(ofSize: 18.0)
- static let bigNumbers: UIFont = UIFont(name: "Menlo-Regular", size: 48.0)!
+ fileprivate enum FontName : String {
+ case regular = "Menlo-Regular"
+ case bold = "Menlo-Bold"
+ }
- static let regular: UIFont = UIFont(name: "Menlo-Regular", size: 18.0)! // UIFont.systemFont(ofSize: 18.0)
- static let bold: UIFont = UIFont(name: "Menlo-Bold", size: 18.0)! // UIFont.systemFont(ofSize: 18.0)
- static let mainTitle: UIFont = UIFont(name: "Menlo-Regular", size: 72.0)! //UIFont.systemFont(ofSize: 72.0)
- static let subTitle: UIFont = UIFont(name: "Menlo-Regular", size: 28.0)! //UIFont.systemFont(ofSize: 24.0)
- static let pieChartEntries: UIFont = UIFont(name: "Menlo-Bold", size: 28.0)! //UIFont.boldSystemFont(ofSize: 28)
- static let chartLegend: UIFont = UIFont(name: "Menlo-Regular", size: 18.0)! // UIFont.systemFont(ofSize: 18.0)
+ static let monospaced: UIFont = UIFont(name: FontName.regular.rawValue, size: 18.0)!
+ static let bigNumbers: UIFont = UIFont(name: FontName.regular.rawValue, size: 48.0)!
+
+ static let regular: UIFont = UIFont(name: FontName.regular.rawValue, size: 18.0)!
+ static let bold: UIFont = UIFont(name: FontName.bold.rawValue, size: 18.0)!
+
+ static let mainTitle: UIFont = UIFont(name: FontName.regular.rawValue, size: 72.0)!
+ static let subTitle: UIFont = UIFont(name: FontName.regular.rawValue, size: 28.0)!
+ static let cellTitle: UIFont = UIFont(name: FontName.regular.rawValue, size: 20.0)!
+
+ static let pieChartEntries: UIFont = UIFont(name: FontName.bold.rawValue, size: 28.0)!
+ static let chartLegend: UIFont = UIFont(name: FontName.regular.rawValue, size: 18.0)! //
}
diff --git a/TournamentStats/UI/reports/InfographyView.swift b/TournamentStats/UI/reports/InfographyView.swift
index 71e824c..fc3facb 100644
--- a/TournamentStats/UI/reports/InfographyView.swift
+++ b/TournamentStats/UI/reports/InfographyView.swift
@@ -76,18 +76,19 @@ class InfographyView: UIView {
fileprivate func _createBackground() {
- let gradient: CAGradientLayer = CAGradientLayer()
-
let startColor = UIColor(red: 23/255, green: 72/255, blue: 61/255, alpha: 1)
- let endColor = UIColor(red: 47/255, green: 149/255, blue: 126/255, alpha: 1)
+// let endColor = UIColor(red: 47/255, green: 149/255, blue: 126/255, alpha: 1)
- gradient.colors = [startColor.cgColor, endColor.cgColor]
- gradient.locations = [0.2 , 1.0]
- gradient.startPoint = CGPoint(x: 0.0, y: 0.0)
- gradient.endPoint = CGPoint(x: 1.0, y: 1.0)
- gradient.frame = self.bounds
+ self.backgroundColor = startColor
- self.layer.insertSublayer(gradient, at: 0)
+// let gradient: CAGradientLayer = CAGradientLayer()
+// gradient.colors = [startColor.cgColor, endColor.cgColor]
+// gradient.locations = [0.2 , 1.0]
+// gradient.startPoint = CGPoint(x: 0.0, y: 0.0)
+// gradient.endPoint = CGPoint(x: 1.0, y: 1.0)
+// gradient.frame = self.bounds
+//
+// self.layer.insertSublayer(gradient, at: 0)
}
@@ -110,19 +111,19 @@ class InfographyView: UIView {
self.mostTableView.delegate = generator.rankings1
self.mostTableView.dataSource = generator.rankings1
- self.mostTableView2.delegate = generator.rankings2
- self.mostTableView2.dataSource = generator.rankings2
+ self.mostTableView2.setHeader(header: "Most final tables")
+ self.mostTableView2.setData(data: generator.finalTables, maxRows: 10)
/////
self.tableView11.setData(data: generator.biggestWinners)
- self.tableView11.setHeader(header: "Biggest Winners")
+ self.tableView11.setHeader(header: "Biggest winners")
self.tableView11.setFooter(footer: "* denotes a Main Event finalist")
self.tableView12.setData(data: generator.mostCashes, maxRows: 5)
- self.tableView12.setHeader(header: "Most Cashes")
+ self.tableView12.setHeader(header: "Most cashes")
self.tableView13.setData(data: generator.averageCash, maxRows: 5)
- self.tableView13.setHeader(header: "Best average cash (7+)")
+ self.tableView13.setHeader(header: "Best average cash (8+)")
/////
@@ -153,7 +154,7 @@ class InfographyView: UIView {
/////
self.label41.text = "USA vs World bracelets"
- self.label42.text = "Hold'em vs not Hold'em"
+ self.label42.text = "Games distribution"
let USABraceletsDistribPie = PieChart(frame: pieChartFrame)
USABraceletsDistribPie.data = generator.USAvsWorldWins.pieChartData
diff --git a/TournamentStats/UI/reports/InfographyView.xib b/TournamentStats/UI/reports/InfographyView.xib
index be00f07..c376272 100644
--- a/TournamentStats/UI/reports/InfographyView.xib
+++ b/TournamentStats/UI/reports/InfographyView.xib
@@ -17,7 +17,7 @@
-
+
+
+
+
+
+
+
+
+
-
+
-
+
-
-
-
+
+
+
-
+
-
+
@@ -88,7 +96,7 @@
-
+
@@ -103,28 +111,36 @@
+
+
+
+
+
+
+
+
-
+
-
+
-
+
@@ -140,7 +156,7 @@
-
+
@@ -148,7 +164,7 @@
-
+
@@ -160,7 +176,7 @@
-
+
@@ -168,7 +184,7 @@
-
+
@@ -180,24 +196,24 @@
-
+
-
-
+
+
-
+
@@ -223,16 +239,16 @@
-
-
+
+
-
-
+
diff --git a/TournamentStats/realm/Model.swift b/TournamentStats/realm/Model.swift
index c33aca1..f24b3b0 100644
--- a/TournamentStats/realm/Model.swift
+++ b/TournamentStats/realm/Model.swift
@@ -39,7 +39,7 @@ class Tournament : Object, Named {
}
var formatted: String {
- return "#\(self.number): \(self.buyin.currencyFormatted) \(self.name)"
+ return "#\(self.number) \(self.buyin.currencyFormatted) \(self.name)"
}
}
diff --git a/TournamentStats/report/Queries.swift b/TournamentStats/report/Queries.swift
index b01851e..1d61d03 100644
--- a/TournamentStats/report/Queries.swift
+++ b/TournamentStats/report/Queries.swift
@@ -39,13 +39,13 @@ class Queries {
})
}
- static func averageCash(realm: Realm) -> [CumulatedResults] {
+ static func averageCash(realm: Realm, minCount: Int) -> [CumulatedResults] {
- let players = realm.objects(Player.self).filter(NSPredicate(format: "results.@count > 6"))
+ let players = realm.objects(Player.self).filter(NSPredicate(format: "results.@count >= %i", minCount))
var crArray: [CumulatedResults] = []
for player in players {
- crArray.append(CumulatedResults(player: player, average: true))
+ crArray.append(CumulatedResults(player: player, options: [.average]))
}
return crArray.sorted(by: { (cr1, cr2) -> Bool in
@@ -62,7 +62,7 @@ class Queries {
var crArray: [CumulatedResults] = []
for player in players {
- crArray.append(CumulatedResults(player: player))
+ crArray.append(CumulatedResults(player: player, options: [.countSorted]))
}
return crArray.sorted(by: { (cr1, cr2) -> Bool in
@@ -210,10 +210,10 @@ class Queries {
let tournaments: Results = realm.objects(Tournament.self)
- let verylow = DistributionCounter(name: "< $1,000")
+ let verylow = DistributionCounter(name: "<$1,000")
let low = DistributionCounter(name: "$1,000 - $1,999")
let medium = DistributionCounter(name: "$2,000 - $5,000")
- let high = DistributionCounter(name: "> $5,000")
+ let high = DistributionCounter(name: ">$5,000")
let counters: [DistributionCounter] = [verylow, low, medium, high]
tournaments.forEach { tournament in
@@ -235,9 +235,9 @@ class Queries {
let tournaments: Results = realm.objects(Tournament.self)
- let low = DistributionCounter(name: "Low (<$1M)")
- let medium = DistributionCounter(name: "Medium ($1M - $5M)")
- let high = DistributionCounter(name: "High (> 5M)")
+ let low = DistributionCounter(name: "<$1M)")
+ let medium = DistributionCounter(name: "$1M - $5M")
+ let high = DistributionCounter(name: ">5M")
let counters: [DistributionCounter] = [low, medium, high]
tournaments.forEach { tournament in
@@ -257,9 +257,9 @@ class Queries {
let winnerResults = realm.objects(Result.self).filter("rank == 1")
- let low = DistributionCounter(name: "Low (<$250K)")
- let medium = DistributionCounter(name: "Medium ($250K - $1M)")
- let high = DistributionCounter(name: "High (> $1M)")
+ let low = DistributionCounter(name: "<$250K")
+ let medium = DistributionCounter(name: "$250K - $1M")
+ let high = DistributionCounter(name: ">$1M")
let counters: [DistributionCounter] = [low, medium, high]
winnerResults.forEach { result in
@@ -275,20 +275,20 @@ class Queries {
return counters
}
- static func holdemTournamentsDistribution(realm: Realm) -> [DistributionCounter] {
+ static func gamesDistribution(realm: Realm) -> [DistributionCounter] {
let tournaments: Results = realm.objects(Tournament.self)
- let holdem = DistributionCounter(name: Game.holdem.rawValue)
- let omaha = DistributionCounter(name: Game.omaha.rawValue)
+ let noLimitHoldem = DistributionCounter(name: Game.holdem.rawValue)
+ let potLimitOmaha = DistributionCounter(name: Game.omaha.rawValue)
let not = DistributionCounter(name: "Others")
- let games: [DistributionCounter] = [holdem, omaha, not]
+ let games: [DistributionCounter] = [noLimitHoldem, potLimitOmaha, not]
tournaments.forEach { tournament in
if tournament.name.contains(Game.holdem.rawValue) {
- holdem.increment()
+ noLimitHoldem.increment()
} else if tournament.name.contains(Game.omaha.rawValue) {
- omaha.increment()
+ potLimitOmaha.increment()
} else {
not.increment()
}
@@ -316,10 +316,11 @@ class Queries {
case 2:
runnerUps.append(result)
default:
- let tableSize: Int = result.tournaments.first?.tableSize ?? 9
- if result.rank <= tableSize {
- finalTables.append(result)
- }
+ break
+ }
+ let tableSize: Int = result.tournaments.first?.tableSize ?? 9
+ if result.rank <= tableSize {
+ finalTables.append(result)
}
}
diff --git a/TournamentStats/report/ReportGenerator.swift b/TournamentStats/report/ReportGenerator.swift
index 1090f23..98b51d5 100644
--- a/TournamentStats/report/ReportGenerator.swift
+++ b/TournamentStats/report/ReportGenerator.swift
@@ -66,8 +66,8 @@ class ReportGenerator {
var tournamentPrizepoolDistribution: [DistributionCounter] = []
var firstPrizeDistribution: [DistributionCounter] = []
var gamesDistribution: [DistributionCounter] = []
- var rankings1: PlayerNotableFinishesDataSource = PlayerNotableFinishesDataSource(notableFinishes: [], finalTables: false)
- var rankings2: PlayerNotableFinishesDataSource = PlayerNotableFinishesDataSource(notableFinishes: [], finalTables: true)
+ var rankings1: PlayerNotableFinishesDataSource = PlayerNotableFinishesDataSource(notableFinishes: [])
+ var finalTables: [CumulatedResults] = []
func generateReports() {
@@ -87,13 +87,15 @@ class ReportGenerator {
self.cashesByCountry = Queries.cashesByCountry(realm: realm)
self.averageEvent = Queries.averageEvent(realm: realm)
self.notablesMostCashes = Queries.mostCashes(realm: realm, notable: true)
- self.averageCash = Queries.averageCash(realm: realm)
+ self.averageCash = Queries.averageCash(realm: realm, minCount: 8)
self.tournamentBuyinDistribution = Queries.tournamentBuyinDistribution(realm: realm)
self.tournamentPrizepoolDistribution = Queries.tournamentPrizepoolDistribution(realm: realm)
self.firstPrizeDistribution = Queries.firstPrizeDistribution(realm: realm)
- self.gamesDistribution = Queries.holdemTournamentsDistribution(realm: realm)
- self.rankings1 = PlayerNotableFinishesDataSource(notableFinishes: Queries.rankingCounts(realm: realm), finalTables: false)
- self.rankings2 = PlayerNotableFinishesDataSource(notableFinishes: Queries.rankingCounts(realm: realm), finalTables: true)
+ self.gamesDistribution = Queries.gamesDistribution(realm: realm)
+
+ let pnds = PlayerNotableFinishesDataSource(notableFinishes: Queries.rankingCounts(realm: realm))
+ self.rankings1 = pnds
+ self.finalTables = pnds.finalTablesCumulated()
let tourniesDate = realm.objects(Tournament.self).distinct(by: ["date"])
diff --git a/TournamentStats/report/structures/CumulatedResults.swift b/TournamentStats/report/structures/CumulatedResults.swift
index d4655f5..f00cb67 100644
--- a/TournamentStats/report/structures/CumulatedResults.swift
+++ b/TournamentStats/report/structures/CumulatedResults.swift
@@ -9,32 +9,51 @@
import Foundation
class CumulatedResults : HTMLRepresentable, ColumnRepresentable {
-
+
+ enum Options {
+ case average
+ case countSorted
+ case finalTables
+ }
+
let player: Player
- let average: Bool
-
+ var options: [Options] = []
+ // var average: Bool = false
+ var finalTables: Bool = false
+
var total: Double = 0.0
var numberOfCashes: Int = 0
var results: [Result] = []
var winsCount: Int = 0
var mainEventFinalist: Bool = false
- init(player: Player, average: Bool = false) {
+ init (player: Player, results: [Result], options: [Options] = []) {
+ self.player = player
+ self.options = options
+ self.options.append(.finalTables)
+ for result in results {
+ self.add(result: result)
+ }
+ }
+
+ init(player: Player, options: [Options] = []) {
self.player = player
- self.average = average
+ self.options = options
+ // self.average = average
for result in player.results {
self.add(result: result)
- if result.tournaments.first?.number == 73 && result.rank < 10 {
- self.mainEventFinalist = true
- }
}
- if average {
+ if self.options.contains(.average) {
self.total = self.total / Double(self.numberOfCashes)
}
}
- func add(result: Result) {
+ private func add(result: Result) {
+ if result.tournaments.first?.number == 73 && result.rank < 10 {
+ self.mainEventFinalist = true
+ }
+
self.total += result.earnings
self.numberOfCashes += 1
self.results.append(result)
@@ -45,38 +64,52 @@ class CumulatedResults : HTMLRepresentable, ColumnRepresentable {
func columnDescriptors() -> [ColumnDescriptor] {
- let totalColumn = self.average ? "Average Earnings" : "Total Earnings"
- return [ColumnDescriptor(header: "Name", number: false, widthWeight: 2.0),
- ColumnDescriptor(header: totalColumn, number: true, widthWeight: 1.3),
- ColumnDescriptor(header: "Cashes", number: true, widthWeight: 0.8)]
+ let totalColumn = self.options.contains(.finalTables) ? "FT Earnings" : self.options.contains(.average) ? "Average Earnings" : "Total Earnings"
+ let countable = self.finalTables ? "Count" : "Cashes"
+
+ if self.options.contains(.countSorted) {
+ return [ColumnDescriptor(header: "Name", number: false, widthWeight: 2.0),
+ ColumnDescriptor(header: countable, number: true, widthWeight: 0.8),
+ ColumnDescriptor(header: totalColumn, number: true, widthWeight: 1.3)]
+ } else {
+ return [ColumnDescriptor(header: "Name", number: false, widthWeight: 2.0),
+ ColumnDescriptor(header: totalColumn, number: true, widthWeight: 1.3),
+ ColumnDescriptor(header: countable, number: true, widthWeight: 0.8)]
+ }
+
}
-
+
func cellValues() -> [String] {
var name = self.player.formattedName
if self.mainEventFinalist {
name += " *"
}
- return [name, self.total.currencyFormatted, "\(self.numberOfCashes)"]
+
+ if self.options.contains(.countSorted) {
+ return [name, "\(self.numberOfCashes)", self.total.currencyFormatted]
+ } else {
+ return [name, self.total.currencyFormatted, "\(self.numberOfCashes)"]
+ }
}
-// 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: "| ")
-// return " | "
-// }
-//
-// 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: "")
-// return " | | \(all) |
"
-// }
+ // 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: "")
+ // return " | "
+ // }
+ //
+ // 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: "")
+ // return " | | \(all) |
"
+ // }
}
diff --git a/TournamentStats/report/structures/PlayerNotableFinishes.swift b/TournamentStats/report/structures/PlayerNotableFinishes.swift
index 52b7b03..382e94d 100644
--- a/TournamentStats/report/structures/PlayerNotableFinishes.swift
+++ b/TournamentStats/report/structures/PlayerNotableFinishes.swift
@@ -26,93 +26,94 @@ class PlayerNotableFinishesDataSource : NSObject, UITableViewDataSource, UITable
var mostRunnerUps: [PlayerNotableFinishes] = []
var mostRunnerUpsCount: Int = 0
var mostFinalTables: [PlayerNotableFinishes] = []
- var mostFinalTablesCount: Int = 0
+ // var mostFinalTablesCount: Int = 0
var winsDisplay: [(String, UIFont)] = []
var runnerUpsDisplay: [(String, UIFont)] = []
-
- let finalTables: Bool
- init(notableFinishes: [PlayerNotableFinishes], finalTables: Bool) {
+ init(notableFinishes: [PlayerNotableFinishes]) {
self.notableFinishes = notableFinishes
- self.finalTables = finalTables
- if finalTables {
-
- var nFinalTables = notableFinishes
- nFinalTables.sort { (p1, p2) -> Bool in
- return p1.finalTables.count > p2.finalTables.count
- }
- let finalTablesTopCount = nFinalTables.first?.finalTables.count ?? 0
- self.mostFinalTables = nFinalTables.filter { $0.finalTables.count == finalTablesTopCount }
-
- self.mostFinalTablesCount = finalTablesTopCount
-
- } else {
-
- var nWins = notableFinishes
- nWins.sort { (p1, p2) -> Bool in
- return p1.wins.count > p2.wins.count
- }
- let winsTopCount = nWins.first?.wins.count ?? 0
- self.mostWins = nWins.filter { $0.wins.count == winsTopCount}
-
- for win in self.mostWins {
- self.winsDisplay.append((win.player.formattedName, Fonts.subTitle))
- for result in win.wins {
- if let tournamentName = result.tournaments.first?.formatted {
- self.winsDisplay.append((" " + tournamentName, Fonts.regular))
- } else {
- self.winsDisplay.append(("no tournament!!!", Fonts.regular))
- }
+ var nFinalTables = notableFinishes
+ nFinalTables.sort { (p1, p2) -> Bool in
+ return p1.finalTables.count > p2.finalTables.count
+ }
+ self.mostFinalTables = nFinalTables
+
+ var nWins = notableFinishes
+ nWins.sort { (p1, p2) -> Bool in
+ return p1.wins.count > p2.wins.count
+ }
+ let winsTopCount = nWins.first?.wins.count ?? 0
+ self.mostWins = nWins.filter { $0.wins.count == winsTopCount}
+
+ for win in self.mostWins {
+ self.winsDisplay.append((win.player.formattedName, Fonts.cellTitle))
+ let sortedWins = win.wins.sorted(by: { $0.tournaments.first!.number < $1.tournaments.first!.number })
+ for result in sortedWins {
+ if let tournamentName = result.tournaments.first?.formatted {
+ self.winsDisplay.append((" " + tournamentName, Fonts.regular))
+ } else {
+ self.winsDisplay.append(("no tournament!!!", Fonts.regular))
}
}
-
- ///////
- var nRunnerups = notableFinishes
- nRunnerups.sort { (p1, p2) -> Bool in
- return p1.runnerUps.count > p2.runnerUps.count
- }
- let runnerUpsTopCount = nRunnerups.first?.runnerUps.count ?? 0
- self.mostRunnerUps = nRunnerups.filter { $0.runnerUps.count == runnerUpsTopCount }
-
- for runnerup in self.mostRunnerUps {
- self.runnerUpsDisplay.append((runnerup.player.formattedName, Fonts.subTitle))
- for result in runnerup.runnerUps {
- if let tournamentName = result.tournaments.first?.formatted {
- self.runnerUpsDisplay.append((" " + tournamentName, Fonts.regular))
- } else {
- self.runnerUpsDisplay.append(("no tournament!!!", Fonts.regular))
- }
+ }
+
+ ///////
+ var nRunnerups = notableFinishes
+ nRunnerups.sort { (p1, p2) -> Bool in
+ return p1.runnerUps.count > p2.runnerUps.count
+ }
+ let runnerUpsTopCount = nRunnerups.first?.runnerUps.count ?? 0
+ self.mostRunnerUps = nRunnerups.filter { $0.runnerUps.count == runnerUpsTopCount }
+
+ for runnerup in self.mostRunnerUps {
+ self.runnerUpsDisplay.append((runnerup.player.formattedName, Fonts.cellTitle))
+ let sortedRunnerUps = runnerup.runnerUps.sorted(by: { $0.tournaments.first!.number < $1.tournaments.first!.number })
+ for result in sortedRunnerUps {
+ if let tournamentName = result.tournaments.first?.formatted {
+ self.runnerUpsDisplay.append((" " + tournamentName, Fonts.regular))
+ } else {
+ self.runnerUpsDisplay.append(("no tournament!!!", Fonts.regular))
}
}
-
- self.mostWinsCount = winsTopCount
- self.mostRunnerUpsCount = runnerUpsTopCount
}
-
+ self.mostWinsCount = winsTopCount
+ self.mostRunnerUpsCount = runnerUpsTopCount
+
+ }
+
+ func finalTablesCumulated() -> [CumulatedResults] {
+ var cumulatedResults: [CumulatedResults] = []
+ for finalTablist in self.mostFinalTables {
+ let cr = CumulatedResults(player: finalTablist.player, results: finalTablist.finalTables)
+ cumulatedResults.append(cr)
+ }
+ cumulatedResults.sort(by: { (c1, c2) -> Bool in
+ if c1.numberOfCashes == c2.numberOfCashes {
+ return c1.total > c2.total
+ }
+ return c1.numberOfCashes > c2.numberOfCashes
+ })
+ return cumulatedResults
}
// MARK - Table
func numberOfSections(in tableView: UITableView) -> Int {
- return self.finalTables ? 1 : 2
+ return 2
}
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
- if self.finalTables {
+ switch section {
+ case 0:
+ return self.winsDisplay.count
+ case 1:
+ return self.runnerUpsDisplay.count
+ default:
return self.mostFinalTables.count
- } else {
- switch section {
- case 0:
- return self.winsDisplay.count
- case 1:
- return self.runnerUpsDisplay.count
- default:
- return self.mostFinalTables.count
- }
}
}
@@ -124,25 +125,21 @@ class PlayerNotableFinishesDataSource : NSObject, UITableViewDataSource, UITable
let font: UIFont
let text: String
- if self.finalTables {
+ switch indexPath.section {
+ case 0:
+ text = self.winsDisplay[indexPath.row].0
+ font = self.winsDisplay[indexPath.row].1
+ case 1:
+ text = self.runnerUpsDisplay[indexPath.row].0
+ font = self.runnerUpsDisplay[indexPath.row].1
+ case 2:
text = self.mostFinalTables[indexPath.row].player.formattedName
font = Fonts.regular
- } else {
- switch indexPath.section {
- case 0:
- text = self.winsDisplay[indexPath.row].0
- font = self.winsDisplay[indexPath.row].1
- case 1:
- text = self.runnerUpsDisplay[indexPath.row].0
- font = self.runnerUpsDisplay[indexPath.row].1
- case 2:
- text = self.mostFinalTables[indexPath.row].player.formattedName
- font = Fonts.regular
- default:
- text = "problem"
- font = Fonts.regular
- }
+ default:
+ text = "problem"
+ font = Fonts.regular
}
+
cell.textLabel?.text = text
cell.textLabel?.font = font
return cell
@@ -150,17 +147,13 @@ class PlayerNotableFinishesDataSource : NSObject, UITableViewDataSource, UITable
func tableView(_ tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? {
let text: String
- if self.finalTables {
- text = "Most final tables - \(self.mostFinalTablesCount)"
- } else {
- switch section {
- case 0:
- text = "Most wins - \(self.mostWinsCount) bracelets"
- case 1:
- text = "Most runner-ups - \(self.mostRunnerUpsCount)"
- default:
- text = "Most final tables - \(self.mostFinalTablesCount)"
- }
+ switch section {
+ case 0:
+ text = "Most bracelets"
+ case 1:
+ text = "Most runner-ups"
+ default:
+ text = "Most final tables"
}
return self.headerLabel(text: text)
diff --git a/TournamentStats/utils/ColumnRepresentable.swift b/TournamentStats/utils/ColumnRepresentable.swift
index 0072f7c..05a18d7 100644
--- a/TournamentStats/utils/ColumnRepresentable.swift
+++ b/TournamentStats/utils/ColumnRepresentable.swift
@@ -12,18 +12,18 @@ import Charts
extension UIColor {
static var paGreen: UIColor {
- return UIColor(red: 0/255, green: 255/255, blue: 196/255, alpha: 1)
+ return UIColor(red: 9/255, green: 203/255, blue: 157/255, alpha: 1)
}
- static var paColor1: UIColor {
- return UIColor(red: 125/255, green: 155/255, blue: 255/255, alpha: 1)
+ static var paBlue: UIColor {
+ return UIColor(red: 0/255, green: 188/255, blue: 198/255, alpha: 1)
}
static var paColor2: UIColor {
- return UIColor(red: 255/255, green: 125/255, blue: 196/255, alpha: 1)
+ return UIColor(red: 185/255, green: 151/255, blue: 199/255, alpha: 1)
}
- static let paColor3: UIColor = UIColor(red: 255/255, green: 155/255, blue: 50/255, alpha: 1)
+ static let paColor3: UIColor = UIColor(red: 235/255, green: 153/255, blue: 141/255, alpha: 1)
}
@@ -78,7 +78,7 @@ extension Array where Element : ColumnRepresentable {
let dataSet = PieChartDataSet(entries: dataEntries, label: "")
dataSet.entryLabelFont = Fonts.pieChartEntries
dataSet.valueFont = Fonts.pieChartEntries
- dataSet.colors = [UIColor.paGreen, UIColor.paColor1, UIColor.paColor2, UIColor.paColor3]
+ dataSet.colors = [UIColor.paGreen, UIColor.paColor2, UIColor.paColor3, UIColor.paBlue]
dataSet.valueFormatter = PercentageFormatter()
return PieChartData(dataSet: dataSet)
}
diff --git a/TournamentStats/utils/Game.swift b/TournamentStats/utils/Game.swift
index 0893dfb..a11c2e5 100644
--- a/TournamentStats/utils/Game.swift
+++ b/TournamentStats/utils/Game.swift
@@ -9,6 +9,6 @@
import Foundation
enum Game : String {
- case holdem = "Hold'em"
+ case holdem = "No-Limit Hold'em"
case omaha = "Pot-Limit Omaha"
}