35 lines
848 B
Swift
35 lines
848 B
Swift
import Foundation
|
|
import SwiftData
|
|
|
|
// Represents a snapshot of the counts at the time of saving
|
|
struct CountSnapshot: Codable {
|
|
var id: UUID
|
|
var value: Double
|
|
var count: Int
|
|
var isRoll: Bool
|
|
}
|
|
|
|
@Model
|
|
class SavedCount {
|
|
var id: UUID
|
|
var date: Date
|
|
var total: Double
|
|
var startingFloat: Double
|
|
var notes: String
|
|
|
|
// SwiftData automatically handles Codable arrays
|
|
var snapshotData: [CountSnapshot]
|
|
|
|
var discrepancy: Double {
|
|
return total - startingFloat
|
|
}
|
|
|
|
init(id: UUID = UUID(), date: Date = .now, total: Double, startingFloat: Double, notes: String, snapshotData: [CountSnapshot]) {
|
|
self.id = id
|
|
self.date = date
|
|
self.total = total
|
|
self.startingFloat = startingFloat
|
|
self.notes = notes
|
|
self.snapshotData = snapshotData
|
|
}
|
|
}
|