namespace GerbilManagerWebAPI.Contracts; /// Käufer/Abnehmer-Block des Abgabevertrags. /// Vor- und Nachname inkl. Anrede, z. B. „Herr Max Muster“. /// Anschrift einzeilig: „Straße Nr, PLZ Ort“. public sealed record ContractBuyer( string Name, string Address, string? Phone = null, string? Email = null); /// Ein abgegebenes Tier (eine Tabelle im Vertrag pro Tier). /// Deutscher Anzeigetext („Weiblich“/„Männlich“) — die /// Abbildung vom Gender-Enum passiert im Aufrufer (Phase B), der /// Generator bleibt frei von Modell-Abhängigkeiten. public sealed record ContractAnimal( string Name, string Geschlecht, DateOnly? Geburtsdatum = null, string? Farbschlag = null); /// /// Alle Eingaben des Vertragsgenerators. Reines Daten-Objekt, keine EF-Typen. /// /// Kaufpreis in Euro; gerendert als de-DE, z. B. „72,00 €“. /// Übergabedatum (Abschnitt 3), Format TT.MM.JJJJ. /// Datum der Unterschriftszeile; Standard = Übergabedatum. public sealed record ContractData( BreederProfile Seller, ContractBuyer Buyer, IReadOnlyList Animals, decimal Price, DateOnly HandoverDate, DateOnly? ContractDate = null);