Commit Graph

9 Commits

Author SHA1 Message Date
Robert van Diest
106acedce8 refactor(domain): introduce ReservationFactory for reconstitution
Replace the Reconstitute static method on Reservation with a dedicated
ReservationFactory class. The reconstitution constructor is now internal,
restricting direct instantiation to within the domain assembly while
keeping the factory as the explicit entry point for rehydrating from storage.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-27 16:49:28 +01:00
Robert van Diest
649c11b21a refactor(persistence): separate storage models from domain entities
Introduce dedicated *Record POCOs (ReservationRecord, UserRecord,
WorkplaceRecord) as EF Core targets, keeping domain entities free of
persistence concerns. Static mapper classes handle conversion between
layers, and repositories track (domain, record) pairs to sync mutations
back before saving. Domain entities gain Reconstitute() factory methods
to bypass validation when rehydrating from storage.

Also fixes GetByEmployeeAsync to exclude past reservations (Date >= today).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-27 16:45:20 +01:00
Robert van Diest
55a72ba55f Don't reseed on non empty database 2026-03-25 20:02:28 +01:00
Robert van Diest
8bf20aa0f2 Fix broken project reference 2026-03-25 19:47:01 +01:00
Robert van Diest
4fcd0d60f4 Add integration tests 2026-03-25 19:44:53 +01:00
Robert van Diest
ac37afdcee Move test project to its own directory 2026-03-25 19:33:15 +01:00
Robert van Diest
ed293a57be Add unittests 2026-03-25 19:22:25 +01:00
Robert van Diest
3219b3a14d Allow deletion of admins 2026-03-25 19:14:02 +01:00
Robert van Diest
1301a01d6d Initial commit 2026-03-24 20:13:07 +01:00