コード例 #1
0
 public FlightsController(
     ICheapestFlightFinder flightFinder,
     MemoryCache cache)
 {
     _flightFinder = flightFinder;
     _cache        = cache;
 }
コード例 #2
0
 public HomeController(
     ICheapestFlightFinder flightFinder,
     MemoryCache cache,
     ICheapestReturnFlightsRepository cheapestReturnFlightsRepository,
     IClock clock)
 {
     _flightFinder = flightFinder;
     _cache        = cache;
     _cheapestReturnFlightsRepository = cheapestReturnFlightsRepository;
     _clock = clock;
 }
コード例 #3
0
        private static async Task <IEnumerable <ReturnFlightArchive> > FetchUpdatedReturnFlights(
            ICheapestFlightFinder _flightFinder,
            IClock _clock)
        {
            var criteria = Criteria.DefaultCriteria();

            var returnFlights = await _flightFinder.FindCheapestReturnFlightsForMultipleTravelDates(criteria);

            var currentInstant = _clock.GetCurrentInstant();

            return(returnFlights.Select(x => new ReturnFlightArchive(currentInstant, x)));
        }
コード例 #4
0
ファイル: Extensions.cs プロジェクト: Eraclys/FlightTrend
        public static async Task <IEnumerable <ReturnFlight> > FindCheapestReturnFlightsForMultipleTravelDates([NotNull] this ICheapestFlightFinder cheapestFlightFinder, [NotNull] FindCheapestReturnFlightsForMultipleTravelDatesCriteria criteria)
        {
            var tasks = criteria.ReturnFlightDates
                        .Select(x => new FindCheapestReturnFlightCriteria(criteria.FromAirport, criteria.ToAirport, x.DepartureDate, x.ReturnDate, criteria.DepartureFlightsFilter, criteria.ReturnFlightsFilter))
                        .Select(cheapestFlightFinder.FindCheapestReturnFlight);

            var results = await Task.WhenAll(tasks).ConfigureAwait(false);

            return(results.Where(x => x != null));
        }