public void Apply(OrderPaymentRecorded @event) { Version++; PaymentId = @event.PaymentId; Status = OrderStatus.Paid; }
public Task Handle(OrderPaymentRecorded @event, CancellationToken cancellationToken) { return(commandBus.Send( SendPackage.Create( @event.OrderId, @event.ProductItems.Select(pi => new ProductItem(pi.ProductId, pi.Quantity)).ToList() ) )); }
public void RecordPayment(Guid paymentId, DateTime recordedAt) { var @event = OrderPaymentRecorded.Create( Id, paymentId, ProductItems, TotalPrice, recordedAt ); Enqueue(@event); Apply(@event); }