Newer
Older
BusinessRules / AggregateRoot.cs
@Derek Comartin Derek Comartin on 22 Aug 2023 584 bytes Init
using System.Collections.Generic;

namespace EventSourcing.Demo
{
    public abstract class AggregateRoot
    {
        private readonly IList<IEvent> _uncommittedEvents = new List<IEvent>();

        public IList<IEvent> GetUncommittedEvents()
        {
            return _uncommittedEvents;
        }

        public void ClearUncommittedEvents()
        {
            _uncommittedEvents.Clear();
        }

        protected void Add(IEvent evnt)
        {
            _uncommittedEvents.Add(evnt);
        }

        public abstract void Load(IEnumerable<IEvent> events);
    }
}