chore: entferne nicht genutzte NennungsMaske-Komponente, extrahiere AktionsButtonLeiste in separaten Komponentenordner

This commit is contained in:
2026-04-19 00:52:36 +02:00
parent 64d749be3a
commit ae39eb4637
3 changed files with 164 additions and 0 deletions
@@ -0,0 +1,13 @@
package at.mocode.frontend.core.domain.repository
import at.mocode.frontend.core.domain.zns.ZnsRemoteFunktionaer
import at.mocode.frontend.core.domain.zns.ZnsRemotePferd
import at.mocode.frontend.core.domain.zns.ZnsRemoteReiter
import at.mocode.frontend.core.domain.zns.ZnsRemoteVerein
interface MasterdataRepository {
fun saveVereine(vereine: List<ZnsRemoteVerein>)
fun saveReiter(reiter: List<ZnsRemoteReiter>)
fun savePferde(pferde: List<ZnsRemotePferd>)
fun saveFunktionaere(funktionaere: List<ZnsRemoteFunktionaer>)
}
@@ -0,0 +1,98 @@
package at.mocode.desktop.repository
import at.mocode.desktop.data.Funktionaer
import at.mocode.desktop.data.Pferd
import at.mocode.desktop.data.Reiter
import at.mocode.desktop.data.Store
import at.mocode.desktop.data.Verein
import at.mocode.frontend.core.domain.repository.MasterdataRepository
import at.mocode.frontend.core.domain.zns.ZnsRemoteFunktionaer
import at.mocode.frontend.core.domain.zns.ZnsRemotePferd
import at.mocode.frontend.core.domain.zns.ZnsRemoteReiter
import at.mocode.frontend.core.domain.zns.ZnsRemoteVerein
class DesktopMasterdataRepository : MasterdataRepository {
override fun saveVereine(vereine: List<ZnsRemoteVerein>) {
println("[Repository] Speichere ${vereine.size} Vereine")
vereine.forEach { remote ->
val id = remote.id.toLongOrNull() ?: return@forEach
val existingIdx = Store.vereine.indexOfFirst { it.id == id }
val verein = Verein(
id = id,
name = remote.name,
oepsNummer = remote.oepsNummer,
ort = remote.ort,
bundesland = remote.bundesland,
istVeranstalter = true // In der Meldestelle sind importierte ZNS-Vereine meist potenzielle Veranstalter
)
if (existingIdx >= 0) {
Store.vereine[existingIdx] = verein
} else {
Store.vereine.add(verein)
}
}
}
override fun saveReiter(reiter: List<ZnsRemoteReiter>) {
println("[Repository] Speichere ${reiter.size} Reiter")
reiter.forEach { remote ->
val id = remote.id.toLongOrNull() ?: return@forEach
val existingIdx = Store.reiter.indexOfFirst { it.id == id }
val entry = Reiter(
id = id,
vorname = remote.vorname,
nachname = remote.nachname,
satznummer = remote.satznummer,
oepsNummer = remote.satznummer, // Oft identisch oder Mapping nötig
lizenzKlasse = remote.lizenzKlasse,
nation = "AUT" // Default für ZNS Import
)
if (existingIdx >= 0) {
Store.reiter[existingIdx] = entry
} else {
Store.reiter.add(entry)
}
}
}
override fun savePferde(pferde: List<ZnsRemotePferd>) {
println("[Repository] Speichere ${pferde.size} Pferde")
pferde.forEach { remote ->
val id = remote.id.toLongOrNull() ?: return@forEach
val existingIdx = Store.pferde.indexOfFirst { it.id == id }
val entry = Pferd(
id = id,
name = remote.name,
geschlecht = remote.geschlecht,
lebensnummer = remote.lebensnummer,
oepsNummer = remote.kopfnummer
)
if (existingIdx >= 0) {
Store.pferde[existingIdx] = entry
} else {
Store.pferde.add(entry)
}
}
}
override fun saveFunktionaere(funktionaere: List<ZnsRemoteFunktionaer>) {
println("[Repository] Speichere ${funktionaere.size} Funktionäre")
funktionaere.forEach { remote ->
val id = remote.id.toLongOrNull() ?: return@forEach
val existingIdx = Store.funktionaere.indexOfFirst { it.id == id }
val namen = remote.name?.split(" ") ?: listOf("Unbekannt")
val entry = Funktionaer(
id = id,
vorname = namen.firstOrNull() ?: "",
nachname = namen.drop(1).joinToString(" "),
rollen = remote.qualifikationen
)
if (existingIdx >= 0) {
Store.funktionaere[existingIdx] = entry
} else {
Store.funktionaere.add(entry)
}
}
}
}