diff --git a/TournamentStats.xcodeproj/project.xcworkspace/xcuserdata/laurent.xcuserdatad/UserInterfaceState.xcuserstate b/TournamentStats.xcodeproj/project.xcworkspace/xcuserdata/laurent.xcuserdatad/UserInterfaceState.xcuserstate index 4d13e13..ec10bda 100644 Binary files a/TournamentStats.xcodeproj/project.xcworkspace/xcuserdata/laurent.xcuserdatad/UserInterfaceState.xcuserstate and b/TournamentStats.xcodeproj/project.xcworkspace/xcuserdata/laurent.xcuserdatad/UserInterfaceState.xcuserstate differ diff --git a/TournamentStats/report/Queries.swift b/TournamentStats/report/Queries.swift index 6bcf167..cbf07aa 100644 --- a/TournamentStats/report/Queries.swift +++ b/TournamentStats/report/Queries.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) diff --git a/TournamentStats/report/ReportGenerator.swift b/TournamentStats/report/ReportGenerator.swift index bef3a4a..82cf3e3 100644 --- a/TournamentStats/report/ReportGenerator.swift +++ b/TournamentStats/report/ReportGenerator.swift @@ -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) + } } diff --git a/TournamentStats/report/structures/CumulatedResults.swift b/TournamentStats/report/structures/CumulatedResults.swift index f348dd8..2df1658 100644 --- a/TournamentStats/report/structures/CumulatedResults.swift +++ b/TournamentStats/report/structures/CumulatedResults.swift @@ -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) {