MoneyCounterApp/MoneyCounter/Models.swift

36 lines
848 B
Swift
Raw Normal View History

2026-04-06 01:25:41 -07:00
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
}
}