public void Confirm() { if (Status != CartStatus.Pending) { throw new InvalidOperationException($"Confirming cart in '{Status}' status is not allowed."); } var @event = CartConfirmed.Create(Id, DateTime.UtcNow); Enqueue(@event); Apply(@event); }
public void Apply(CartConfirmed @event) { Status = CartStatus.Confirmed; }
private void Apply(CartConfirmed @event) { Version++; Status = CartStatus.Confirmed; }
public void Apply(CartConfirmed @event) { Id = Guid.NewGuid(); CartId = @event.CartId; Description = $"Created tentative Cart with id {@event.CartId}"; }
private void Apply(CartConfirmed cartConfirmed) { cartState.IsConfirmed = true; Become(Confirmed); }
private void Handle(ConfirmCart command) { var domainEvent = new CartConfirmed(); Persist(domainEvent, Apply); }