feat(veranstaltung): Wizard für neue Veranstaltung implementiert und ZNS-Light-Integration hinzugefügt
Signed-off-by: Stefan Mogeritsch <stefan.mo.co@gmail.com>
This commit is contained in:
+12
@@ -0,0 +1,12 @@
|
||||
package at.mocode.zns.importer
|
||||
|
||||
/**
|
||||
* Der Modus des ZNS-Imports.
|
||||
*
|
||||
* [FULL] - Alle Dateien (Vereine, Reiter, Pferde, Funktionäre) werden importiert.
|
||||
* [LIGHT] - Nur Stammdaten (Vereine, Reiter) werden importiert (Performance-Optimiert).
|
||||
*/
|
||||
enum class ZnsImportMode {
|
||||
FULL,
|
||||
LIGHT
|
||||
}
|
||||
+20
-3
@@ -91,9 +91,13 @@ class ZnsImportService(
|
||||
* Importiert eine ZNS-ZIP-Datei aus einem [InputStream].
|
||||
*
|
||||
* @param zipInputStream Der InputStream der ZIP-Datei.
|
||||
* @param mode Der [ZnsImportMode] (Standard: [ZnsImportMode.FULL]).
|
||||
* @return [ZnsImportResult] mit Statistiken und eventuellen Fehlern.
|
||||
*/
|
||||
suspend fun importiereZip(zipInputStream: InputStream): ZnsImportResult {
|
||||
suspend fun importiereZip(
|
||||
zipInputStream: InputStream,
|
||||
mode: ZnsImportMode = ZnsImportMode.FULL
|
||||
): ZnsImportResult {
|
||||
val dateien = extrahiereDateien(zipInputStream)
|
||||
// println("[DEBUG_LOG] Gefundene Dateien: ${dateien.keys}")
|
||||
// dateien.forEach { (name, lines) -> println("[DEBUG_LOG] Datei $name hat ${lines.size} Zeilen") }
|
||||
@@ -103,8 +107,21 @@ class ZnsImportService(
|
||||
|
||||
val (vereineNeu, vereineUpd) = importiereVereine(dateien[FILE_VEREIN] ?: emptyList(), fehler)
|
||||
val (reiterNeu, reiterUpd) = importiereReiter(dateien[FILE_LIZENZ] ?: emptyList(), fehler, warnungen)
|
||||
val (pferdeNeu, pferdeUpd) = importierePferde(dateien[FILE_PFERDE] ?: emptyList(), fehler)
|
||||
val (richterNeu, richterUpd) = importiereFunktionaere(dateien[FILE_RICHT] ?: emptyList(), fehler, warnungen)
|
||||
|
||||
var pferdeNeu = 0
|
||||
var pferdeUpd = 0
|
||||
var richterNeu = 0
|
||||
var richterUpd = 0
|
||||
|
||||
if (mode == ZnsImportMode.FULL) {
|
||||
val (pNeu, pUpd) = importierePferde(dateien[FILE_PFERDE] ?: emptyList(), fehler)
|
||||
pferdeNeu = pNeu
|
||||
pferdeUpd = pUpd
|
||||
|
||||
val (rNeu, rUpd) = importiereFunktionaere(dateien[FILE_RICHT] ?: emptyList(), fehler, warnungen)
|
||||
richterNeu = rNeu
|
||||
richterUpd = rUpd
|
||||
}
|
||||
|
||||
return ZnsImportResult(
|
||||
vereineImportiert = vereineNeu,
|
||||
|
||||
Reference in New Issue
Block a user