public Commands(IUrlHelper urlHelper, string bookingId, string passengerKey) { _urlHelper = urlHelper; _bookingId = bookingId; AddPassengerCommand = new AddPassengerCommand(_urlHelper, _bookingId); UpdatePassengerNameCommand = new UpdatePassengerNameCommand(_urlHelper, bookingId, passengerKey); }
public override async Task Execute() { if (BookingId == null) { var selectJourneysScenario = new SelectJourneysScenario(CommandBus); await selectJourneysScenario.Execute(); BookingId = selectJourneysScenario.BookingId; } var passenger = _passenger ?? new PassengerBuilder().CreatePassenger(); var command = new AddPassengerCommand(BookingId, passenger); PassengerKey = passenger.PassengerKey; CommandBus.PublishAsync(command, CancellationToken.None); }
public async Task <PassengerAddedResource> AddPassenger(string bookingId, [FromBody] AddPassengerCommand addPassengerCommand) { var command = new Booking.Commands.Passenger.AddPassengerCommand(new BookingId(bookingId)) { Age = addPassengerCommand.Age, Email = addPassengerCommand.Email, Name = addPassengerCommand.Name, PassengerType = addPassengerCommand.PassengerType }; await _commandBus.PublishAsync(command, CancellationToken.None); var booking = await _queryProcessor.ProcessAsync(new BookingIdQuery(bookingId), CancellationToken.None); var passenger = booking.Passengers.Last(); return(new PassengerAddedResource(Url, bookingId, passenger)); }
public override async Task Execute() { if (BookingId == null) { var selectJourneysScenario = new SelectJourneysScenario(CommandBus); await selectJourneysScenario.Execute(); BookingId = selectJourneysScenario.BookingId; } var passenger = _passenger ?? new PassengerBuilder().CreatePassenger(); var command = new AddPassengerCommand(BookingId) { Age = passenger.Age, Email = passenger.Email, Name = passenger.Name, PassengerType = passenger.PassengerType }; await CommandBus.PublishAsync(command, CancellationToken.None); }
public async Task ShouldAddPassengerInBooking() { //Arrange var bookingId = await SelectJourney(); var addPassengerCommand = new AddPassengerCommand { BookingId = bookingId.Value, Age = 40, Email = "*****@*****.**", Name = "test", PassengerType = PassengerType.Male }; //Act var resource = await _apiTestClient.Post <AddPassengerCommand, PassengerAddedResource>($"booking/{bookingId.Value}/passenger", addPassengerCommand); //Assert resource.ResourceLinks.Should().NotBeNull(); resource.ResourceCommands.Should().NotBeNull(); }
public Commands(IUrlHelper urlHelper, string bookingId) { _urlHelper = urlHelper; _bookingId = bookingId; AddPassengerCommand = new AddPassengerCommand(_urlHelper, _bookingId); }