Pultreservation im Büro
Einstieg EinstiegEin Architekturbüro in Bern mit Desksharing hat 18 Arbeitsplätze für 25 Mitarbeitende. Alle sollen online ein Pult für einen Tag reservieren können.
- Entities 'Mitarbeiter', 'Pult' und 'Reservation' mit ORM abbilden
- Controller, Service und Repository für Reservationen erstellen
- Sicherstellen, dass ein Pult pro Tag nur einmal vergeben wird
Tipp anzeigenTipp
Eine Prüfung im Service reicht bei gleichzeitigen Anfragen nicht. Überlege, was die Datenbank zusätzlich garantieren kann.
Lösungsskizze anzeigenLösungsskizze
Reservation mit Beziehungen zu Pult und Mitarbeiter sowie Datum. Der Service prüft vorab auf vorhandene Reservation. Zusätzlich verhindert ein Unique-Constraint auf (pult_id, datum) Doppelbuchungen auch bei gleichzeitigen Anfragen. Die Exception wird in eine verständliche Meldung übersetzt.