mirror of
https://github.com/Mueller-Patrick/DHBW-Service-App.git
synced 2026-04-28 18:30:09 +00:00
♻️ Refactored CoreData access
This commit is contained in:
@@ -22,4 +22,23 @@ public class Lecturer: NSManagedObject {
|
||||
return []
|
||||
}
|
||||
}
|
||||
|
||||
@nonobjc public class func getSpecified(sortDescriptors: [NSSortDescriptor] = [], searchPredicate: NSPredicate? = nil) -> [Lecturer]{
|
||||
let managedContext =
|
||||
PersistenceController.shared.context
|
||||
|
||||
let fetchRequest: NSFetchRequest = Lecturer.fetchRequest()
|
||||
|
||||
fetchRequest.sortDescriptors = sortDescriptors
|
||||
if(searchPredicate != nil) {
|
||||
fetchRequest.predicate = searchPredicate
|
||||
}
|
||||
|
||||
do {
|
||||
return try managedContext.fetch(fetchRequest)
|
||||
} catch let error as NSError {
|
||||
print("Could not fetch. \(error), \(error.userInfo)")
|
||||
return []
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -22,4 +22,23 @@ public class RaPlaEvent: NSManagedObject {
|
||||
return []
|
||||
}
|
||||
}
|
||||
|
||||
@nonobjc public class func getSpecified(sortDescriptors: [NSSortDescriptor] = [], searchPredicate: NSPredicate? = nil) -> [RaPlaEvent]{
|
||||
let managedContext =
|
||||
PersistenceController.shared.context
|
||||
|
||||
let fetchRequest: NSFetchRequest = RaPlaEvent.fetchRequest()
|
||||
|
||||
fetchRequest.sortDescriptors = sortDescriptors
|
||||
if(searchPredicate != nil) {
|
||||
fetchRequest.predicate = searchPredicate
|
||||
}
|
||||
|
||||
do {
|
||||
return try managedContext.fetch(fetchRequest)
|
||||
} catch let error as NSError {
|
||||
print("Could not fetch. \(error), \(error.userInfo)")
|
||||
return []
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -22,4 +22,23 @@ public class User: NSManagedObject {
|
||||
return []
|
||||
}
|
||||
}
|
||||
|
||||
@nonobjc public class func getSpecified(sortDescriptors: [NSSortDescriptor] = [], searchPredicate: NSPredicate? = nil) -> [User]{
|
||||
let managedContext =
|
||||
PersistenceController.shared.context
|
||||
|
||||
let fetchRequest: NSFetchRequest = User.fetchRequest()
|
||||
|
||||
fetchRequest.sortDescriptors = sortDescriptors
|
||||
if(searchPredicate != nil) {
|
||||
fetchRequest.predicate = searchPredicate
|
||||
}
|
||||
|
||||
do {
|
||||
return try managedContext.fetch(fetchRequest)
|
||||
} catch let error as NSError {
|
||||
print("Could not fetch. \(error), \(error.userInfo)")
|
||||
return []
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -65,39 +65,42 @@ struct PersistenceController {
|
||||
let viewContext = result.container.viewContext
|
||||
|
||||
// set mock user
|
||||
let userEntity = NSEntityDescription.entity(forEntityName: "User", in: PersistenceController.shared.context)!
|
||||
let user = NSManagedObject(entity: userEntity, insertInto: PersistenceController.shared.context)
|
||||
user.setValue("Max Mustermann", forKey: "name")
|
||||
user.setValue("TINF19B4", forKey: "course")
|
||||
user.setValue("Dr. Mustermann", forKey: "director")
|
||||
let user = User(context: PersistenceController.shared.context)
|
||||
user.name = "Max Mustermann"
|
||||
user.course = "TINF19B4"
|
||||
user.director = "Prof. Dr. Mustermann"
|
||||
|
||||
// Generate mock events
|
||||
let eventEntity = NSEntityDescription.entity(forEntityName: "RaPlaEvent", in: PersistenceController.shared.context)!
|
||||
let normalEvent1 = NSManagedObject(entity: eventEntity, insertInto: PersistenceController.shared.context)
|
||||
let normalEvent2 = NSManagedObject(entity: eventEntity, insertInto: PersistenceController.shared.context)
|
||||
let examEvent = NSManagedObject(entity: eventEntity, insertInto: PersistenceController.shared.context)
|
||||
normalEvent1.setValue("Mock Event 1", forKey: "summary")
|
||||
normalEvent2.setValue("Mock Event 2", forKey: "summary")
|
||||
examEvent.setValue("Exam Event", forKey: "summary")
|
||||
normalEvent1.setValue("Mock Event 1 Description", forKey: "descr")
|
||||
normalEvent2.setValue("Mock Event 2 Description", forKey: "descr")
|
||||
examEvent.setValue("Exam Event Description", forKey: "descr")
|
||||
normalEvent1.setValue("E207 INF Hörsaal", forKey: "location")
|
||||
normalEvent2.setValue("A306 WI Hörsaal", forKey: "location")
|
||||
examEvent.setValue("Audimax A", forKey: "location")
|
||||
normalEvent1.setValue("Lehrveranstaltung", forKey: "category")
|
||||
normalEvent2.setValue("Lehrveranstaltung", forKey: "category")
|
||||
examEvent.setValue("Prüfung", forKey: "category")
|
||||
let normalEvent1 = RaPlaEvent(context: PersistenceController.shared.context)
|
||||
let normalEvent2 = RaPlaEvent(context: PersistenceController.shared.context)
|
||||
let examEvent = RaPlaEvent(context: PersistenceController.shared.context)
|
||||
normalEvent1.summary = "Mock Event 1"
|
||||
normalEvent2.summary = "Mock Event 2"
|
||||
examEvent.summary = "Exam Event"
|
||||
|
||||
normalEvent1.descr = "Mock Event 1 description"
|
||||
normalEvent2.descr = "Mock Event 2 description"
|
||||
examEvent.descr = "Exam Event description"
|
||||
|
||||
normalEvent1.location = "E207 INF Hörsaal"
|
||||
normalEvent2.location = "A306 WI Hörsaal"
|
||||
examEvent.location = "Audimax A"
|
||||
|
||||
normalEvent1.category = "Lehrveranstaltung"
|
||||
normalEvent2.category = "Lehrveranstaltung"
|
||||
examEvent.category = "Prüfung"
|
||||
|
||||
var currentDate = Date()
|
||||
currentDate.addTimeInterval(1*60*60);normalEvent1.setValue(currentDate, forKey: "startDate")
|
||||
currentDate.addTimeInterval(1*60*60);normalEvent2.setValue(currentDate, forKey: "startDate")
|
||||
currentDate.addTimeInterval(1*60*60);examEvent.setValue(currentDate, forKey: "startDate")
|
||||
currentDate.addTimeInterval(1*60*60);normalEvent1.setValue(currentDate, forKey: "endDate")
|
||||
currentDate.addTimeInterval(1*60*60);normalEvent2.setValue(currentDate, forKey: "endDate")
|
||||
currentDate.addTimeInterval(1*60*60);examEvent.setValue(currentDate, forKey: "endDate")
|
||||
normalEvent1.setValue("totalUniqueId1", forKey: "uid")
|
||||
normalEvent2.setValue("totalUniqueId2", forKey: "uid")
|
||||
examEvent.setValue("totalUniqueId3", forKey: "uid")
|
||||
currentDate.addTimeInterval(1*60*60);normalEvent1.startDate = currentDate
|
||||
currentDate.addTimeInterval(1*60*60);normalEvent2.startDate = currentDate
|
||||
currentDate.addTimeInterval(1*60*60);examEvent.startDate = currentDate
|
||||
currentDate.addTimeInterval(1*60*60);normalEvent1.endDate = currentDate
|
||||
currentDate.addTimeInterval(1*60*60);normalEvent2.endDate = currentDate
|
||||
currentDate.addTimeInterval(1*60*60);examEvent.endDate = currentDate
|
||||
|
||||
normalEvent1.uid = "totalUniqueId1"
|
||||
normalEvent2.uid = "totalUniqueId2"
|
||||
examEvent.uid = "totalUniqueId3"
|
||||
|
||||
|
||||
do {
|
||||
|
||||
Reference in New Issue
Block a user