public void Handle(SeatCreated @event) { var dto = GetSeatTypeView(@event.SourceId); if (dto != null) { Trace.TraceWarning( "Ignoring SeatCreated event for seat type with ID {0} as it was already created.", @event.SourceId); } else { dto = new SeatTypeView( @event.SourceId, @event.ConferenceId, @event.Name, @event.Description, @event.Price, @event.Quantity); this.bus.Send( new AddSeats { ConferenceId = @event.ConferenceId, SeatType = @event.SourceId, Quantity = @event.Quantity }); seatTypeRepository.Insert(dto); } }
public void Handle(OrderPlaced @event) { var dto = new PricedOrder { OrderId = @event.SourceId, ReservationExpirationDate = @event.ReservationAutoExpiration, OrderVersion = @event.Version }; pricedOrderRepository.Insert(dto); }
public void Handle(OrderPlaced @event) { var dto = new DraftOrder(@event.SourceId, @event.ConferenceId, (int)DraftOrder.States.PendingReservation, @event.Version) { AccessCode = @event.AccessCode, }; dto.Lines.AddRange(@event.Seats.Select(seat => new DraftOrderItem(seat.SeatType, seat.Quantity))); draftOrderRepository.Insert(dto); }
public void Handle(ConferenceCreated @event) { var dto = GetConferenceView(@event.SourceId); if (dto != null) { Trace.TraceWarning( "Ignoring ConferenceCreated event for conference with ID {0} as it was already created.", @event.SourceId); } else { var conference = new ConferenceView( @event.SourceId, @event.Slug, @event.Name, @event.Description, @event.Location, @event.Tagline, @event.TwitterSearch, @event.StartDate); conferenceRepository.Insert(conference); } }