using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Koogle.Domain.Entities { /// /// Abstrakte Basisklasse für alle Entitäten im System. /// Stellt gemeinsame Eigenschaften für Identifikation, Soft-Delete und Audit-Felder bereit. /// public abstract class BaseEntity { /// /// Eindeutiger Identifikator der Entität. /// public Guid Id { get; set; } /// /// Kennzeichen für Soft-Delete. /// Wenn true, gilt der Datensatz als gelöscht und wird in Standard-Abfragen ausgeblendet. /// public bool IsDeleted { get; set; } /// /// Zeitpunkt der Erstellung des Datensatzes (UTC). /// public DateTime CreatedAt { get; set; } /// /// ID des Benutzers, der den Datensatz erstellt hat. /// Option für null, wenn die Erstellung nicht einem spezifischen Benutzer zugeordnet werden kann. (API, Tests o.ä.) /// public Guid? CreatedById { get; set; } /// /// Zeitpunkt der letzten Änderung des Datensatzes (UTC). /// Null, wenn der Datensatz seit der Erstellung nicht geändert wurde. /// public DateTime? ModifiedAt { get; set; } /// /// ID des Benutzers, der den Datensatz zuletzt geändert hat. /// Null, wenn der Datensatz seit der Erstellung nicht geändert wurde. /// public Guid? ModifiedById { get; set; } } }