Dunkelmodus über neuen Einstellungen-Tab "Darstellung" (Systemvorgabe/Hell/Dunkel), Fenstergröße/Maximiert-Status wird über Sitzungen hinweg gemerkt (bewusst ohne Fensterposition), und ein generischer Snapshot-basierter Papierkorb (30 Tage) für Sitzpläne, Noten, Notenschlüssel-Vorlagen, Aufgaben und Zeiteinträge. Details und bewusste Scope-Entscheidungen (Spaltenbreiten zurückgestellt, Farb-Audit für Dunkelmodus offen, welche Entitäten der Papierkorb abdeckt) in TODO.md. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
22 lines
1.1 KiB
C#
22 lines
1.1 KiB
C#
namespace LehrerApp.Core.Models;
|
|
|
|
/// <summary>
|
|
/// Papierkorb-Eintrag (14.3): ein gelöschter Datensatz, als vollständiger JSON-Schnappschuss
|
|
/// aufbewahrt, damit er wiederhergestellt werden kann. Deckt bewusst nur Löschvorgänge OHNE
|
|
/// Kaskade ab (z.B. eine einzelne Note, keine ganze Lerngruppe) — Details siehe
|
|
/// <c>LiteDbContext.MoveToTrash</c>/<c>RestoreFromTrash</c> und TODO.md 14.3.
|
|
/// </summary>
|
|
public class TrashedItem
|
|
{
|
|
public Guid Id { get; set; } = Guid.NewGuid();
|
|
/// <summary>Modellname (<c>nameof(Grade)</c> etc.) — bestimmt, wie der Schnappschuss beim
|
|
/// Wiederherstellen deserialisiert und welche Repository-Methode aufgerufen wird.</summary>
|
|
public string EntityType { get; set; } = "";
|
|
public Guid EntityId { get; set; }
|
|
/// <summary>Vollständiger JSON-Schnappschuss der gelöschten Entität.</summary>
|
|
public string Snapshot { get; set; } = "";
|
|
/// <summary>Kurze, für die Papierkorb-Liste lesbare Beschreibung (z.B. "Note 2 (12.09.2026)").</summary>
|
|
public string Summary { get; set; } = "";
|
|
public DateTime DeletedAt { get; set; } = DateTime.UtcNow;
|
|
}
|