Added best average cash

master
Laurent 6 years ago
parent c19b8eff6e
commit 70398d0135
  1. BIN
      TournamentStats.xcodeproj/project.xcworkspace/xcuserdata/laurent.xcuserdatad/UserInterfaceState.xcuserstate
  2. 18
      TournamentStats/report/Queries.swift
  3. 3
      TournamentStats/report/ReportGenerator.swift
  4. 8
      TournamentStats/report/structures/CumulatedResults.swift

@ -26,6 +26,20 @@ class Queries {
})
}
static func averageCash(realm: Realm) -> [CumulatedResults] {
let players = realm.objects(Player.self).filter(NSPredicate(format: "results.@count > 4"))
var crArray: [CumulatedResults] = []
for player in players {
crArray.append(CumulatedResults(player: player, average: true))
}
return crArray.sorted(by: { (cr1, cr2) -> Bool in
return cr1.total > cr2.total
})
}
static func mostCashes(realm: Realm, notable: Bool = false) -> [CumulatedResults] {
var players = realm.objects(Player.self)
@ -126,7 +140,7 @@ class Queries {
for winner in winners {
if let country = winner.player?.country {
if var cc = countryWins[country] {
if let cc = countryWins[country] {
cc.increment()
} else {
countryWins[country] = CountryCounter(country: country, counter: 1)
@ -150,8 +164,6 @@ class Queries {
let buyin: Double? = tournaments.average(ofProperty: "buyin")
let prizepool: Double? = tournaments.average(ofProperty: "prizepool")
// let itmCount: Double? = tournaments.sum(ofProperty: "results.count")
let itmCount: Double = tournaments.reduce(0.0) { $0 + Double($1.results.count) }
let avgItmCount = itmCount / Double(tournaments.count)

@ -82,7 +82,8 @@ class ReportGenerator {
Queries.cashesByCountry(realm: realm).writeHTML(fileName: "reports/countryCashes.html")
Queries.averageEvent(realm: realm).writeHTML(fileName: "reports/averageEvent.html")
Queries.mostCashes(realm: realm, notable: true).writeHTML(fileName: "reports/notablesMostCashes.html", limit: nil)
Queries.averageCash(realm: realm).writeHTML(fileName: "reports/averageCashes.html", limit: 5)
}
}

@ -15,15 +15,15 @@ class CumulatedResults : CSVRepresentable, HTMLRepresentable {
var total: Double = 0.0
var numberOfCashes: Int = 0
init(player: Player) {
init(player: Player, average: Bool = false) {
self.player = player
for result in player.results {
// if (player.name == "Daniel Zack") {
// print("result = \(String(describing: result.tournaments.first?.number))")
// }
self.add(result: result)
}
if average {
self.total = self.total / Double(self.numberOfCashes)
}
}
func add(result: Result) {

Loading…
Cancel
Save