// // Stats.swift // App // // Created by Michael Simard on 5/29/20. // import Foundation import Fluent import Vapor final class AllStats: Content { var overall:Stats var byMonth: [MonthStats] init( overall:Stats, byMonth:[MonthStats]) { self.overall = overall self.byMonth = byMonth } } final class MonthStats: Content { var stats:Stats var month:String var year: String init( month:Int, year:Int, stats:Stats) { self.month = Utilities.monthToString(month: month) self.year = String(year) self.stats = stats } } final class Stats: Content { var winLossRatio:String var totalWins:Int var totalLosses:Int init( winLoss:String, totalWins:Int, totalLosses:Int) { self.winLossRatio = winLoss self.totalWins = totalWins self.totalLosses = totalLosses } } final class AllDailyStats: Content { var dailyStats : [DailyStats] init(dailyStats:[DailyStats]) { self.dailyStats = dailyStats } } final class AllRollingStats: Content { var cumulativeStats:[DailyStats] } final class DailyStats: Content { var day: String var month:String var year: String var cumulativeRatio:String var stats:Stats init(day:Int, month:Int, year:Int, stats:Stats, cumulativeRatio:String) { self.day = String(day) self.month = Utilities.monthToString(month: month) self.year = String(year) self.stats = stats self.cumulativeRatio = cumulativeRatio } } class Utilities { class func monthToString(month:Int) -> String { switch month { case 1 : return "January" case 2: return "February" case 3: return "March" case 4: return "April" case 5: return "May" case 6: return "June" case 7: return "July" case 8: return "August" case 9: return "September" case 10: return "October" case 11: return "November" case 12: return "December" default: return "error" } } }