public async Task <List <string> > ExecuteQueryAsync(GetDepartureStationsQuery query, CancellationToken cancellationToken)
        {
            var readModels = await _readStore.FindAsync(rm => true, cancellationToken);

            var stations = readModels.SelectMany(x => x.Items)
                           .Where(x => x.DepartureDate > query.DepartureTime1)
                           .Where(x => x.DepartureDate < query.DepartureTime2)
                           .Select(x => x.DepartureStation)
                           .ToList();

            return(stations);
        }
Пример #2
0
        public async Task  ShouldGetDepartureStation()
        {
            //Arrange
            var journeys = new JourneysBuilder().BuildJourneys();
            var selectJourneysCommand = new SelectJourneysCommand(BookingId.New, journeys);
            await CommandBus.PublishAsync(selectJourneysCommand, CancellationToken.None);

            //Act
            var query    = new GetDepartureStationsQuery(DateTime.Today, DateTime.Today.AddDays(3));
            var stations = await _queryHandler.ExecuteQueryAsync(query, CancellationToken.None);

            //Assert
            stations.Should().NotBeEmpty();
        }