Files
workoutsplus/WorkoutsPlus/Features/WorkoutSession/WorkoutSessionItem.swift
T
2024-11-26 17:22:29 +01:00

42 lines
902 B
Swift

//
// WorkoutSessionItem.swift
// WorkoutsPlus
//
// Created by Felix Förtsch on 15.10.24.
//
import Foundation
import SwiftData
@Model
final class WorkoutSessionItem: Nameable, Positionable {
var id = UUID()
var position: Int
var name: String
var workoutSession: WorkoutSession
var plannedReps: Int
var plannedValue: Double
var unit: ExerciseUnit?
var metric: ExerciseType?
var actualReps: Int?
var actualValue: Double?
var startDate: Date?
var stopDate: Date?
func isCompleted() -> Bool { stopDate != nil }
init(workoutSession: WorkoutSession, planned: WorkoutItem) {
self.workoutSession = workoutSession
self.name = planned.exercise.name
self.position = planned.position
self.plannedReps = planned.plannedReps
self.plannedValue = planned.plannedValue
}
func start() { startDate = .now }
func stop() { stopDate = .now }
}