Merge branch 'worktree-agent-a02f88e8490625846'
# Conflicts: # GerbilManagerWebAPI/ApplicationContext.cs # GerbilManagerWebAPI/Program.cs # gerbil-manager-web/e2e/mock-data.ts # gerbil-manager-web/src/App.tsx # gerbil-manager-web/src/components/AppShell.tsx # gerbil-manager-web/src/strings/de.ts
This commit is contained in:
48
GerbilManagerWebAPI/Models/ReturnRecord.cs
Normal file
48
GerbilManagerWebAPI/Models/ReturnRecord.cs
Normal file
@@ -0,0 +1,48 @@
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
|
||||
namespace GerbilManagerWebAPI.Models
|
||||
{
|
||||
/// <summary>
|
||||
/// RÜCKNAHME (RPRO3 getback_tb): ein bereits abgegebenes Tier kommt zur Züchterin
|
||||
/// zurück. Bewusst vom restlichen Modell entkoppelt — GerbilId/FromContactId sind
|
||||
/// einfache nullable Guid-Spalten (KEINE Foreign Keys), genau wie bei <see cref="Feedback"/>.
|
||||
/// Dadurch überleben Rücknahmen den Import-Re-Ingest-Wipe (IngestResolvedService löscht
|
||||
/// Gerbils/Contacts, ohne diese Tabelle anzufassen). Der erfasste GerbilName hält den
|
||||
/// Datensatz auch dann lesbar, wenn das referenzierte Tier neu eingespielt/entfernt wurde.
|
||||
/// </summary>
|
||||
public class ReturnRecord
|
||||
{
|
||||
[Key]
|
||||
public Guid Id { get; set; }
|
||||
|
||||
/// <summary>Lose Referenz (kein FK) auf das zurückgekommene Tier (_TID).</summary>
|
||||
public Guid? GerbilId { get; set; }
|
||||
|
||||
/// <summary>Erfasster Tiername — überlebt einen Ingest-Wipe (bleibt lesbar).</summary>
|
||||
public string? GerbilName { get; set; }
|
||||
|
||||
/// <summary>Rücknahmedatum (_ZAM).</summary>
|
||||
public DateTime? ReturnDate { get; set; }
|
||||
|
||||
/// <summary>Rücknahmepreis (_ZPREIS) — was die Züchterin bei der Rücknahme zahlte/erstattete.</summary>
|
||||
public decimal? ReturnPrice { get; set; }
|
||||
|
||||
/// <summary>Ursprünglicher Abgabepreis (_PREIS), zur Historie mitgeführt.</summary>
|
||||
public decimal? OriginalPrice { get; set; }
|
||||
|
||||
/// <summary>Ursprüngliches Abgabedatum (_AM), zur Historie mitgeführt.</summary>
|
||||
public DateTime? OriginalSaleDate { get; set; }
|
||||
|
||||
/// <summary>Lose Referenz (kein FK) auf den Kontakt, von dem das Tier zurückkam (_ABN).</summary>
|
||||
public Guid? FromContactId { get; set; }
|
||||
|
||||
/// <summary>Erfasster Kontaktname — überlebt einen Ingest-Wipe (bleibt lesbar).</summary>
|
||||
public string? FromContactName { get; set; }
|
||||
|
||||
/// <summary>Freitext-Grund/Notiz zur Rücknahme (_BEM).</summary>
|
||||
public string? Note { get; set; }
|
||||
|
||||
/// <summary>Server-seitige Anlagezeit.</summary>
|
||||
public DateTimeOffset CreatedAt { get; set; }
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user