Пример #1
0
 public virtual void AddEventSourcedDomainEvent(EventSourcedDomainEvent <TAggregateId> @event, UserId userId)
 {
     @event.Generation = this.Generation + 1;
     this.Reduce(@event, userId);
     this.Generation = @event.Generation;
     this.pendingEvents.Add(@event);
     this.isNew = false;
 }
        protected override void Reduce(EventSourcedDomainEvent <TAggregateId> @event, UserId impressionistId)
        {
            switch (@event)
            {
            case ImpressionAddedEvent <TAggregateId> addedEvent:
                this.ObjectType = addedEvent.ObjectType;
                this._Impressionists.Add(impressionistId);
                break;

            case ImpressionRemovedEvent <TAggregateId> removedEvent:
                this.ObjectType = removedEvent.ObjectType;
                this._Impressionists.Remove(impressionistId);
                break;

            default:
                break;
            }
        }
Пример #3
0
 protected abstract void Reduce(EventSourcedDomainEvent <TAggregateId> @event, UserId userId);