namespace GerbilManagerWebAPI.Dtos { /// Zählungen für die Analyse-Übersicht (RennmausPro-III-Import). public record Rpro3Counts( int OwnAnimals, // eigene Tiere (stamm) int ExternalRaw, // externe Ahnen (fremd, roh, vor Dedup) int ExternalAfterDedup, // externe Ahnen nach Dedup int Litters, // Würfe int Contacts, // Kontakte (Herkunft + Abnehmer) int Genotypes, // hinterlegte Genotypen (eigen + extern) int DuplicatesMerged, // weggefallene interne Dubletten int MergeClusters, // Anzahl zusammengelegter Cluster int Enclosures, // Gehege/Becken int Acquisitions, // Erwerbe (herktier_tb) int Reservations, // Reservierungen/Abgaben (abgeben_tb + abstat_tb) int Returns, // Rücknahmen (getback_tb) int WaitingList, // Wartelisten-Einträge (nachfrage_tb) int Exhibitions); // Ausstellungsergebnisse (ausz_tb) /// Eine Variante eines mehrdeutigen Namens (für die Entscheidung der Züchterin). public record Rpro3AmbiguousVariant( int Count, string Dob, string Farbe, string Origin, bool IsOwn); public record Rpro3AmbiguousName( string Name, IReadOnlyList Variants, int BareCount); /// Ein großer sicherer Merge-Cluster (zur Veranschaulichung der Dedup-Wirkung). public record Rpro3MergeSample( string Name, int RecordCount, string Dob, string Farbe, string Origin); /// Ergebnis von POST /import/rpro3/analyze — schreibt NICHTS in die DB. public record Rpro3AnalyzeResult( Rpro3Counts Counts, int NewVsCurrentNew, // wie viele Tiere im aktuellen Stand fehlen würden (neu) int NewVsCurrentExisting, // wie viele schon vorhanden sind (Match) IReadOnlyList TopMerges, IReadOnlyList AmbiguousNames, bool PhotosProvided, int PhotoFilesAvailable); /// Ergebnis von POST /import/rpro3/execute. public record Rpro3ExecuteResult( int GerbilsImported, int LittersImported, int ContactsImported, int HealthRecordsImported, int WeightRecordsImported, int PhotosImported, int EnclosuresImported, int AcquisitionsImported, int ReservationsImported, int ReturnsImported, int WaitingListImported, int ExhibitionsImported, string Message); }