51 lines
1.7 KiB
C#
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; }
|
|
}
|
|
|
|
}
|