public PersonEntity Get(Guid entityId) { PersonEntity entity; if (!this._cache.TryGetValue(entityId, out entity)) { entity = new PersonEntity() { EntityId = entityId }; } var projection = new Projection(entity); IEnumerable <Event> newEvents = this._repository.GetLatestedEvents(entity); foreach (Event @event in newEvents) { projection.Project(@event); } return(entity); }
public Projection(PersonEntity entity) { this._entity = entity; }