KoogleApp/Koogle.Domain/Entities/BaseEntity.cs

50 lines
1.5 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 int 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.
/// </summary>
public int 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 int? ModifiedById { get; set; }
}
}