public Commands(IUrlHelper urlHelper, string bookingId, string passengerKey)
 {
     _urlHelper                 = urlHelper;
     _bookingId                 = bookingId;
     AddPassengerCommand        = new AddPassengerCommand(_urlHelper, _bookingId);
     UpdatePassengerNameCommand = new UpdatePassengerNameCommand(_urlHelper, bookingId, passengerKey);
 }
Пример #2
0
        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));
        }
Пример #4
0
        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);
        }
Пример #5
0
        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();
        }
Пример #6
0
 public Commands(IUrlHelper urlHelper, string bookingId)
 {
     _urlHelper          = urlHelper;
     _bookingId          = bookingId;
     AddPassengerCommand = new AddPassengerCommand(_urlHelper, _bookingId);
 }