53 lines
1.2 KiB
C#
53 lines
1.2 KiB
C#
namespace OrpaonVision.Core.Domain;
|
||
|
||
/// <summary>
|
||
/// 可审计实体基类。
|
||
/// </summary>
|
||
public abstract class AuditableEntityBase : EntityBase
|
||
{
|
||
/// <summary>
|
||
/// 创建时间(UTC)。
|
||
/// </summary>
|
||
public DateTime CreatedAt { get; set; } = DateTime.UtcNow;
|
||
|
||
/// <summary>
|
||
/// 创建者。
|
||
/// </summary>
|
||
public string? CreatedBy { get; set; }
|
||
|
||
/// <summary>
|
||
/// 更新时间(UTC)。
|
||
/// </summary>
|
||
public DateTime? UpdatedAt { get; set; }
|
||
|
||
/// <summary>
|
||
/// 更新者。
|
||
/// </summary>
|
||
public string? UpdatedBy { get; set; }
|
||
|
||
/// <summary>
|
||
/// 备注。
|
||
/// </summary>
|
||
public string? Remark { get; set; }
|
||
|
||
/// <summary>
|
||
/// 标记为已更新。
|
||
/// </summary>
|
||
/// <param name="updatedBy">更新者。</param>
|
||
public virtual void MarkAsUpdated(string? updatedBy = null)
|
||
{
|
||
UpdatedAt = DateTime.UtcNow;
|
||
UpdatedBy = updatedBy;
|
||
}
|
||
|
||
/// <summary>
|
||
/// 标记为已创建。
|
||
/// </summary>
|
||
/// <param name="createdBy">创建者。</param>
|
||
public virtual void MarkAsCreated(string? createdBy = null)
|
||
{
|
||
CreatedAt = DateTime.UtcNow;
|
||
CreatedBy = createdBy;
|
||
}
|
||
}
|