private void ReserveTicket(TicketReserved m) { _state.Tickets.Add(new Ticket { Id = m.TicketId, }); }
private void Handle(TicketReserved @event) { _state.Tickets.Add(new OrderTicketReadModel(@event.TicketId, @event.EventId, @event.CustomerId, @event.PriceOptionId, @event.OrderId, @event.PriceZoneName, @event.PriceOptionName, @event.GrossAmount, new[] { @event.SceneSeatId })); }
protected override void OnCommand(object message) { switch (message) { case SetDelivery m: { var deliverySet = new DeliveryMethodSet(m.OrderId, m.DeliveryTypeId); Persist(deliverySet, @event => { SetDelivery(@event); SaveSnapshotIfNeeded(); Context.PublishEvent(@event); }); } break; case SetPayment m: { var paymentSet = new PaymentMethodSet(m.OrderId, m.PaymentTypeId); Persist(paymentSet, @event => { SetPayment(@event); SaveSnapshotIfNeeded(); Context.PublishEvent(@event); }); } break; case DiscardOrder m: { var orderDiscarded = new OrderDiscarded(m.OrderId, _state.CustomerId); Persist(orderDiscarded, @event => { DiscardOrder(@event); SaveSnapshotIfNeeded(); Context.PublishEvent(@event); }); } break; case CommitOrder m: { var orderCommited = new OrderCommited(m.OrderId, _state.CustomerId); Persist(orderCommited, @event => { CommitOrder(@event); SaveSnapshotIfNeeded(); Context.PublishEvent(@event); }); } break; case CompleteOrder m: { var orderCompleted = new OrderCompleted(m.OrderId, _state.CustomerId); Persist(orderCompleted, @event => { CompleteOrder(@event); SaveSnapshotIfNeeded(); Context.PublishEvent(@event); }); } break; case ReserveTicket m: { var ticketReserved = new TicketReserved( m.OrderId, m.CustomerId, m.TicketId, m.EventId, m.PriceOptionId, m.SceneSeatId, m.PriceZoneName, m.PriceOptionName, m.GrossAmount); Persist(ticketReserved, @event => { ReserveTicket(@event); SaveSnapshotIfNeeded(); Context.PublishEvent(@event); }); } break; case RemoveTicket m: { var ticketRemoved = new TicketRemoved(m.OrderId, m.CustomerId, m.EventId, m.TicketId); Persist(ticketRemoved, @event => { RemoveTicket(@event); SaveSnapshotIfNeeded(); Context.PublishEvent(@event); }); } break; case Terminated m: { } break; default: Unhandled(message); break; } }