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