public void Handle(PaymentTaken @event) { dispatcher.Publish(new PrintOrder(@event.Order, @event.Id)); if (OnCompleted != null) { OnCompleted(this, new EventArgs()); } }
public void TakePayment(decimal amount, string currency) { var domainEvent = new PaymentTaken { Amount = amount, Currency = currency }; ApplyEvent(domainEvent); }
public void Handle(PaymentTaken @event) { dispatcher.Publish(new CookFood(@event.Order, @event.Id)); dispatcher.Publish( new SendToMeIn(CorrelationId, DateTime.Now.AddSeconds(6), new FirstCookRetry(@event.Order, @event.Id))); }
void IPaymentVisitor.Accept(PaymentTaken paymentTaken) { Amount = paymentTaken.Amount; Currency = paymentTaken.Currency; }