femto-backend/Femto.Common/Domain/Entity.cs
2025-05-15 17:47:20 +02:00

21 lines
517 B
C#

namespace Femto.Common.Domain;
public abstract class Entity
{
private readonly ICollection<IDomainEvent> _domainEvents = [];
protected void AddDomainEvent(IDomainEvent evt)
{
this._domainEvents.Add(evt);
}
public IList<IDomainEvent> DomainEvents => this._domainEvents.ToList();
public void ClearDomainEvents() => this._domainEvents.Clear();
protected void CheckRule(IRule rule)
{
if (!rule.Check())
throw new RuleBrokenError(rule.Message);
}
}