0
0
mirror of https://github.com/alex289/CleanArchitecture.git synced 2025-06-29 18:21:08 +00:00
CleanArchitecture/CleanArchitecture.Domain/Entities/Entity.cs
2024-12-08 22:51:08 +01:00

34 lines
587 B
C#

using System;
namespace CleanArchitecture.Domain.Entities;
public abstract class Entity
{
public Guid Id { get; private set; }
public DateTimeOffset? DeletedAt { get; private set; }
protected Entity(Guid id)
{
Id = id;
}
public void SetId(Guid id)
{
if (id == Guid.Empty)
{
throw new ArgumentException($"{nameof(id)} may not be empty");
}
Id = id;
}
public void Delete()
{
DeletedAt = DateTimeOffset.UtcNow;
}
public void Undelete()
{
DeletedAt = null;
}
}