SchulIT.IccImport

This library provides functionalities to upload entities to the ICC.


Keywords
icc, import, .net, core
License
MIT
Install
Install-Package SchulIT.IccImport -Version 1.0.0-preview6

Documentation

ICC Import (.NET Core)

Build Status NuGet version (SchulIT.IccImport) GitHub .NET Standard 2.1

Diese Bibliothek stellt alle Klassen zur Verfügung, um Daten in das ICC mittels .NET Core hochzuladen.

Installation

Die Installation erfolgt via NuGet.

Nutzung

Alle Methoden sind asynchron und müssen daher mit einem await aufgerufen werden. Die Nutzung eines DI-Frameworks (bspw. Autofac) ist mittels des Interfaces IIccImporter möglich.

var logger = Microsoft.Extensions.Logging.LoggerFactory.CreateLogger<IccImporter>(); // Falls man kein DI nutzt, erstellt man einen Logger
var importer = new IccImporter(logger);
importer.BaseUrl = "https://icc.example.com/";
importer.Token = "YourToken";

var absences = new List<AbsenceData>();
// Absenzen konstruieren

var response = await importer.ImportAbsencesAsync(absences);

if(response is ImportResponse) {
    var importResponse = response as ImportResponse;
    /*
     * Ausgabe über Erfolg generieren
     */
} else if(response is ErrorResponse) {
    var errorResponse = response as ErrorResponse;

    /*
     * Fehlermeldung erzeugen
     * Man hat Zugriff auf errorResponse.ResponseCode, errorResponse.ResponseBody und errorResponse.Message
     */
}

Weitere Methoden zum Importieren:

  • ImportAppointmentsAsync(appointments): Termine
  • ImportAppointmentCategoriesAsync(categories): Termin-Kategorien
  • ImportExamsAsync(exams): Klausuren
  • ImportGradesAsync(grades): Klassen
  • ImportGradeTeachersAsync(gradeTeachers): Klassenleitungen
  • ImportStudentsAsync(students): Schülerinnen und Schüler
  • ImportStudyGroupsAsync(studyGroups): Lerngruppen
  • ImportStudyGroupMembershipsAsync(memberships): Lerngruppenmitgliedschaften
  • ImportSubjectsAsync(subjects): Fächer
  • ImportSubstitutionsAsync(substitutions): Vertretungen
  • ImportTeachersAsync(teachers): Lehrkräfte
  • ImportTimetableLessonsAsync(period, lessons): Stundenplan-Einträge - Hier muss stets die Periode angegeben werden, zu denen die Einträge gehören
  • ImportTimetablePeriodsAsync(periods): Stundenplan-Perioden
  • ImportSupervisionsAsync(period, supervisions): Aufsichten - Hier muss stets die Periode angegeben werden, zu denen die Einträge gehören
  • ImportTuitionsAsync(tuitions): Unterrichte
  • ImportInfotextsAsync(infotexts): Tagestexte
  • ImportAbsencesAsync(absences): Absenzen
  • ImportPrivacyCategoriesAsync(categories): Datenschutz-Kategorien
  • ImportRoomsAsync(rooms): Räume

Probleme?

Dann bitte in den Issue schauen, ob das Problem bereits bekannt ist. Falls nicht, kann dort ein Issue geöffnet werden. Support via E-Mail wird nicht angeboten.

Mitmachen?

Immer gerne - einfach ein Issue öffnen oder noch besser: einen Pull Request einreichen!

Lizenz

MIT.