Schedule-ICTIS/Schedule ICTIS/ViewModel/SaveScheduleViewModel.swift
Vladimir Dubovik 14c229175c Commit
2025-04-03 11:10:21 +03:00

36 lines
827 B
Swift

//
// SaveScheduleViewModel.swift
// Schedule ICTIS
//
// Created by Egor Mironov on 02.04.2025.
//
import Foundation
import CoreData
final class SaveScheduleViewModel: ObservableObject {
@Published var subject: JsonClassModel
private let provider: ClassProvider
private let context: NSManagedObjectContext
init(provider: ClassProvider, subject: JsonClassModel? = nil) {
self.provider = provider
self.context = provider.newContext
if let subject,
let existingClassCopy = provider.exists(subject, in: context) {
self.subject = existingClassCopy
}
else {
self.subject = JsonClassModel(context: self.context)
}
}
func save() throws {
try provider.persist(in: context)
}
}