public void ExecuteDomainCreate(Guid aggregateId, Action <T> action) { var aggregate = AggregateRootFactory.Build <T>(aggregateId); action(aggregate); _repository.Save(aggregate); }
public T GetById(Guid aggregateId) { var t = AggregateRootFactory.Build <T>(aggregateId); var events = _storage.GetEventsForAggregate <T>(aggregateId); t.LoadFromEvent(events); return(t); }