public async Task UpdateFlightSeats(TicketBought @event, ICorrelationContext context) { var flight = await _flightsRepository.GetAsync(@event.FlightId); flight.DecreaseAvailableSeats(@event.AvailableSeats); await _flightsRepository.UpdateAsync(flight); }
public async Task HandleAsync(EndFlight command, ICorrelationContext context) { var flight = await _flightsRepository.GetAsync(command.Id); flight.SetFlightStatus(FlightStatus.Finished); await _flightsRepository.UpdateAsync(flight); await _busPublisher.PublishAsync(new FlightEnded(flight.PlaneId), context); }