예제 #1
0
 public void Handle(PaymentTaken @event)
 {
     dispatcher.Publish(new PrintOrder(@event.Order, @event.Id));
     if (OnCompleted != null)
     {
         OnCompleted(this, new EventArgs());
     }
 }
예제 #2
0
        public void TakePayment(decimal amount, string currency)
        {
            var domainEvent = new PaymentTaken {
                Amount = amount, Currency = currency
            };

            ApplyEvent(domainEvent);
        }
예제 #3
0
 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)));
 }
예제 #4
0
 void IPaymentVisitor.Accept(PaymentTaken paymentTaken)
 {
     Amount   = paymentTaken.Amount;
     Currency = paymentTaken.Currency;
 }