shoc-backend/SeaHaven.Services
Alexandre Brandizzi 22308f21f6 fix(dashboard): resolve region zones from full state names (SH-348)
Locations store State as either a two-letter postal code or a full state
name (the location list filter expands codes to both forms via
UsStateCodes.ExpandStorageValues, and dev fixtures carry State = "indiana").
DashboardRegions.Resolve only matched the two-letter key, so every location
stored as a full name fell into Unmapped/Other and the East/Central/West/
California bars undercounted.

Normalise the stored value through a new UsStateCodes.ToCode, which accepts a
code or a full name and returns the canonical postal code, before the zone
lookup. Extend the region test with full-name storage forms and add an
invariant asserting every US state and its full-name form resolves to a
canonical bucket.
2026-09-16 20:15:20 -03:00
..
Configuration feat(uplifts): complete SH-101 approval lifecycle 2026-08-11 08:58:19 -03:00
Constants fix(work-orders): satisfy producer contract review 2026-07-27 16:33:06 -03:00
DependencyInjection fix(work-orders): satisfy producer contract review 2026-07-27 16:33:06 -03:00
DTOs feat(dashboard): add regional work order metrics (SH-348) 2026-09-16 18:03:38 -03:00
Exceptions feat(work-orders): isolate phase 2 inline edit with optimistic concurrency 2026-07-07 11:26:13 -03:00
Helpers fix(dashboard): resolve region zones from full state names (SH-348) 2026-09-16 20:15:20 -03:00
Implementation feat(dashboard): add regional work order metrics (SH-348) 2026-09-16 18:03:38 -03:00
Interfaces feat(dashboard): add regional work order metrics (SH-348) 2026-09-16 18:03:38 -03:00
Validation feat(locations): manage ordered site contacts 2026-09-15 19:03:54 -03:00
SeaHaven.Services.csproj refactor: enforce backend boundaries and optimize dispatch (#30) 2026-07-24 17:35:34 -03:00