public override AggregateApplicationResult ApplyEvent(BaseEvent evt) { if (evt == null) { throw new ArgumentNullException(nameof(evt)); } switch (evt) { case ItemCreatedEvent created: Name = created.Name; this.TransactionalState = AggregateStates.Created; break; case ItemUpdatedEvent updated: Name = updated.Name; this.TransactionalState = AggregateStates.Updated; break; case ItemDeletedEvent deleted: this.TransactionalState = AggregateStates.Deleted; break; } return(base.ApplyEvent(evt)); }
public override void Commit() { base.Commit(); this.TransactionalState = AggregateStates.NotChanged; }
public override void Rollback() { base.Rollback(); this.TransactionalState = AggregateStates.NotChanged; }
public ItemAggregate(Guid id, BaseEvent lastEvent = null) : base(id, lastEvent) { this.TransactionalState = AggregateStates.NotChanged; }