Example #1
0
        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;
 }
Example #3
0
        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}";
 }
Example #5
0
 private void Apply(CartConfirmed cartConfirmed)
 {
     cartState.IsConfirmed = true;
     Become(Confirmed);
 }
Example #6
0
        private void Handle(ConfirmCart command)
        {
            var domainEvent = new CartConfirmed();

            Persist(domainEvent, Apply);
        }