arch(domain): split the Incident aggregate and move German ETB wording and presentation types out of Domain
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 5/5
- Tempo stimato
- Più di una settimana
- Idoneità per principianti
- 35/100
Direzione di ricerca
Start with src/LageBuch.Domain/Incident.cs, especially Rehydrate, the feature areas, and the German text noted in the issue; also read Formatting.cs and IncidentPdfSections.cs and their comments. The proposal offers several architectural directions rather than a scoped change, so first agree on one direction with maintainers. Done means that agreed refactor is implemented while preserving the aggregate's invariants and the Android build constraints.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
From the 2026-09-09 architecture review of main (35d86e1). Not urgent; a direction for when the next feature lands in Incident.
Incident (src/LageBuch.Domain/Incident.cs) is 1 112 lines with about 45 public members across ten feature areas, a 22-parameter Rehydrate (:122) that mirrors the SQLite table set, and it composes German ETB text inside the aggregate (Label :615, StatusChangeText :666, and every AppendSystemEntry literal such as "Einsatz begonnen"). Exception messages are end-user German too (:86, :643). Formatting.cs (de-DE date formats, em-dash placeholder) and IncidentPdfSections.cs (PDF section flags) are presentation concerns living in Domain.
The domain is otherwise exemplary: zero references, private setters, IReadOnlyList everywhere, invariants via EnsureOpen.
Proposal
- Split
Incidentinto partial classes per feature area (Forces, Scba, CoMeasurement, Tasks, Files, Journal) with the shared guards in the core file; or extract sub-aggregates where the feature has its own invariants (CO measurement is a good first candidate). - Route system-entry wording through a small
ISystemEntryText(or resource) so wording and locale are not Domain changes. - Replace the 22-parameter
Rehydratewith aIncidentSnapshot-style record that both the repository andSnapshotMapperbuild. - Move
FormattingandIncidentPdfSectionsto Documents/AppLogic once the Android build graph allows (the comment inIncidentPdfSections.csexplains why they are parked in Domain).
- Lingua principale
- C#
- Stelle
- 1
- Fork
- 3
- Merge medio
- 4h 49m
- PR unite (30g)
- 177
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Ha un modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di CodeForFire/lagebuch
-
Stammdaten: in the Checkliste editor the PFLICHT header is not aligned with its columnForse già presa @Saad-elnagar l’ha presa oggi. Apertabug ux
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
CodeForFire/lagebuch#714 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
Stammdaten: on a phone the Fahrzeuge editor squeezes Wache and Funkrufname to nothingForse già presa @Saad-elnagar l’ha presa oggi. Apertabug ux
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
CodeForFire/lagebuch#713 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
enhancement
Difficoltà 2/5 1-3 ore Idoneità per principianti 62/100
CodeForFire/lagebuch#405 ·
I maintainer di solito rispondono entro 1 giorno
-
documentation good first issue
Difficoltà 2/5 1-3 ore Idoneità per principianti 88/100
CodeForFire/lagebuch#349 ·
I maintainer di solito rispondono entro 1 giorno
-
documentation good first issue
Difficoltà 2/5 1-3 ore Idoneità per principianti 88/100
CodeForFire/lagebuch#348 ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di CodeForFire/lagebuch
Issue simili
-
area: client bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
I maintainer di solito rispondono entro 1 giorno
-
bug mcp misleading small
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
I maintainer di solito rispondono entro 1 giorno
-
Bug Platform: Android
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
getsentry/sentry-dotnet#5764 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
microsoft/SimpleL7Proxy#287 ·
I maintainer di solito rispondono entro 1 giorno