KoogleApp/Koogle.Domain/Entities/BaseEntity.cs

51 lines
1.7 KiB
C#

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