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

39 lines
908 B
Swift

//
// EditClassViewModel.swift
// Schedule ICTIS
//
// Created by Egor Mironov on 18.12.2024.
//
import Foundation
import CoreData
final class EditClassViewModel: ObservableObject {
@Published var _class: CoreDataClassModel
let isNew: Bool
private let provider: ClassProvider
private let context: NSManagedObjectContext
init(provider: ClassProvider, _class: CoreDataClassModel? = nil) {
self.provider = provider
self.context = provider.newContext
if let _class,
let existingClassCopy = provider.exists(_class, in: context) {
self._class = existingClassCopy
self.isNew = false
}
else {
self._class = CoreDataClassModel(context: self.context)
self.isNew = true
}
}
func save() throws {
try provider.persist(in: context)
}
}