示例#1
0
        private async Task <AddFlightViewModel> GetAddFlightViewModel()
        {
            var airportsQuery = new AirportAll.Query();
            var airports      = await _mediator.Send(airportsQuery);

            return(new AddFlightViewModel
            {
                Airports = airports
                           .Select(x => new SelectListItem($"{x.Name} ({x.Code})", x.Id.ToString()))
                           .ToList()
            });
        }
示例#2
0
        public async Task AirportAll_ValidQuery_Success()
        {
            // Arrange
            var query   = new AirportAll.Query();
            var handler = new AirportAll.Handler(_mapper, _airportRepositoryMock.Object);

            var expectedAirports = DomainHelpers.CreateManyValidAirports().ToList();

            _airportRepositoryMock
            .Setup(x => x.GetAllAsync())
            .ReturnsAsync(expectedAirports);

            // Act
            var result = await handler.Handle(query, CancellationToken.None);

            // Assert
            result.Count().Should().Be(expectedAirports.Count);
        }
示例#3
0
        private async Task <EditFlightViewModel> GetEditFlightViewModel(Guid flightId)
        {
            var airportsQuery = new AirportAll.Query();
            var airports      = await _mediator.Send(airportsQuery);

            var flightByIdQuery = new FlightById.Query(flightId);
            var flight          = await _mediator.Send(flightByIdQuery);

            return(new EditFlightViewModel
            {
                FlightId = flightId,
                Airports = airports
                           .Select(x => new SelectListItem($"{x.Name} ({x.Code})", x.Id.ToString()))
                           .ToList(),
                DepartureAirportId = flight.DepartureAirportId,
                DestinationAirportId = flight.DestinationAirportId
            });
        }
示例#4
0
        public async Task <IActionResult> Index(int page = 1)
        {
            var airportsQuery = new AirportAll.Query();
            var airports      = (await _mediator.Send(airportsQuery)).ToList();

            var flightsQuery = new FlightAll.Query();
            var flights      = await _mediator.Send(flightsQuery);

            var onePageOfFLights = await flights
                                   .OrderByDescending(x => x.CreatedAt)
                                   .ToPagedListAsync(page, DefaultSettings.PageSize);

            var viewModels = onePageOfFLights.Select(flight => new FlightViewModel
            {
                Id = flight.Id,
                DepartureAirport     = airports.SingleOrDefault(x => x.Id == flight.DepartureAirportId)?.Name,
                DestinationAirport   = airports.SingleOrDefault(x => x.Id == flight.DestinationAirportId)?.Name,
                DistanceInKilometers = flight.DistanceInKilometers,
                FuelRequiredInLitres = flight.FuelRequiredInLitres,
                FlightDuration       = flight.FlightDuration
            });

            return(View(viewModels));
        }