This commit is contained in:
Vladimir Dubovik
2024-12-20 13:27:03 +03:00
parent 1eb574e682
commit 8d973e7942
47 changed files with 313 additions and 706 deletions

View File

@ -6,3 +6,21 @@
//
import Foundation
import CoreData
final class EditClassViewModel: ObservableObject {
@Published var _class: ClassModel
private let context: NSManagedObjectContext
init(provider: ClassProvider, _class: ClassModel? = nil) {
self.context = provider.newContext
self._class = ClassModel(context: self.context)
}
func save() throws {
if context.hasChanges {
try context.save()
}
}
}

View File

@ -1,33 +0,0 @@
//
// Class.swift
// Schedule ICTIS
//
// Created by Mironov Egor on 18.12.2024.
//
import Foundation
import CoreData
final class Class: NSManagedObject {
@NSManaged var auditory: String
@NSManaged var professor: String
@NSManaged var subject: String
@NSManaged var comment: String
@NSManaged var notification: String
@NSManaged var day: Date
@NSManaged var starttime: Date
@NSManaged var endtime: Date
@NSManaged var important: Bool
// Здесь мы выполняем дополнительную инициализацию, назначая значения по умолчанию
override func awakeFromInsert() {
super.awakeFromInsert()
setPrimitiveValue("", forKey: "auditory")
setPrimitiveValue("", forKey: "professor")
setPrimitiveValue("", forKey: "subject")
setPrimitiveValue("", forKey: "comment")
setPrimitiveValue("Нет", forKey: "notification")
setPrimitiveValue(false, forKey: "important")
}
}

View File

@ -1,23 +0,0 @@
//
// Model.swift
// Schedule ICTIS
//
// Created by Mironov Egor on 13.11.2024.
//
import Foundation
// MARK: - Welcome
struct Schedule: Decodable {
let table: Table
let weeks: [Int]
}
// MARK: - Table
struct Table: Decodable {
let type, name: String
let week: Int
let group: String
let table: [[String]]
let link: String
}

View File

@ -1,14 +0,0 @@
//
// Tab.swift
// Schedule ICTIS
//
// Created by G412 on 13.11.2024.
//
import SwiftUI
enum TabBarModel: String, CaseIterable {
case schedule = "house"
case tasks = "books.vertical"
case settings = "gear"
}

View File

@ -1,8 +0,0 @@
//
// ClassProvider.swift
// Schedule ICTIS
//
// Created by G412 on 18.12.2024.
//
import Foundation

View File

@ -42,13 +42,13 @@ final class ScheduleViewModel: ObservableObject {
else {
schedule = try await NetworkManager.shared.getSchedule(group)
}
weekSchedule = schedule.table
week = weekSchedule.week
numOfGroup = weekSchedule.group
classes = weekSchedule.table
self.weekSchedule = schedule.table
self.week = weekSchedule.week
self.numOfGroup = weekSchedule.group
self.classes = weekSchedule.table
self.isFirstStartOffApp = false
self.isShowingAlertForIncorrectGroup = false
isLoading = false
self.isLoading = false
self.errorInNetwork = .noError
}