示例#1
0
    public void Apply(OrderPaymentRecorded @event)
    {
        Version++;

        PaymentId = @event.PaymentId;
        Status    = OrderStatus.Paid;
    }
示例#2
0
 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()
                    )
                ));
 }
示例#3
0
    public void RecordPayment(Guid paymentId, DateTime recordedAt)
    {
        var @event = OrderPaymentRecorded.Create(
            Id,
            paymentId,
            ProductItems,
            TotalPrice,
            recordedAt
            );

        Enqueue(@event);
        Apply(@event);
    }