Schnittstelle Kalender - HochschuleHofStundenplanapp/iOS-App GitHub Wiki
Kalendersynchronisation
Der Stundenplan soll nur manuell in den Kalender synchronisiert werden, über einen Button in der Titelleiste. Damit falls man für jemand anderen den Stundenplan nachschaut nicht der Stundenplan im Kalender geändert wird.
Variablen
lecutreIds : dictionary (singleton)
key: lecutre ID
Inhalt: EKEvents ID's
Methoden
init()
Prüft ob der Kalender für unsere App bereits existiert. Falls dieser noch nicht existiert, wird ein neuer Kalender erzeugt und der Identifier in ScheduleCalendarID abgelegt, ansonsten wird nur der Identifier in unsere Variable gespeichert.
public removeCalendar() -> Bool
Löscht den Kalander mit dem angegebenem Kalender Identifier. Bei erfolgreichem Löschen wird true, bei Fehlern false zurückgegeben.
public createAllEvents (lecutres : [Lecutre])
Erstellt mehrer Events Speichert ID's in lecutreIds. Erstellt einen neuen Eintrag im iOS Kalender. Verwendet die Daten aus dem übergebenen EKEvent Objekt. Gibt die ID des neu angelegtem Kalendereintrags zurück wenn das Erstellen erfolgreich war.
public updateAllEvents(lectures: [Lecture])
Aktualisiert mehrere Events Suchen die ID's aus lecutreIds für den Update Aufruf Aktualisiert einen Eintrag im iOS Kalender anhand der ID. Verwendet dafür die Daten aus dem übergebenen EKEvent Objekten. Gibt die ID des aktualisiertem Kalendereintrags zurück wenn die Aktualisierung erfolgreich war. TODO: EventID von neu erzeugtem Event auch zurück geben oder auch in lecutresIds speichern
public removeAllEvents(p_eventIds)
Löscht alle Events im Kalendar Löscht einen Eintrag aus dem iOS Kalender anhand der ID. Gibt zurück ob das löschen erfolgreich war. Löscht den Eintrag falls p_withNotes auf false gesetzt nur falls keine Beschreibung angelegt wurde, was auf eine Bearbeitung des Nutzers deutet, ansonsten auch mit Beschreibung.
public convertLecureToEKEvents (lecure: Lecure)
Wandelt die Vorlesung in ein EKEvents um.
Notizen
An 2-wöchige Vorlesungen denken Blockvorlesungen
Parameter für Interationen:
Name: interation
Werte: 0,7,14
Werte stehen für den Abstand zwischen den Vorlesungen