aboutsummaryrefslogtreecommitdiffstats
path: root/code/api/src/Data/Database/Base.cs
blob: 900b923525e3cedcf279a033da793d7a78980d59 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
namespace IOL.GreatOffice.Api.Data.Database;

public class Base
{
    protected Base() {
        Id = Guid.NewGuid();
        CreatedAt = AppDateTime.UtcNow;
    }

    public Guid Id { get; init; }
    public DateTime CreatedAt { get; init; }
    public DateTime? ModifiedAt { get; private set; }
    public DateTime? DeletedAt { get; private set; }
    public bool Deleted { get; private set; }

    public void SetModified() => ModifiedAt = AppDateTime.UtcNow;

    public void SetDeleted() {
        Deleted = true;
        DeletedAt = AppDateTime.UtcNow;
    }
}