114 lines
2.2 KiB
Swift
114 lines
2.2 KiB
Swift
//
|
|
// 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 stats:Stats
|
|
|
|
init(day:Int, month:Int, year:Int, stats:Stats) {
|
|
self.day = String(day)
|
|
self.month = Utilities.monthToString(month: month)
|
|
self.year = String(year)
|
|
self.stats = stats
|
|
}
|
|
}
|
|
|
|
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"
|
|
}
|
|
}
|
|
}
|