Esempio n. 1
0
        public static Flight GetFlight(Command.Domain.FlightQuery.Flight originalFlight, System.DateTime?reviseFlightDate = null)
        {
            if (originalFlight == null)
            {
                return(null);
            }
            Flight result  = null;
            var    airline = FoundationService.QueryAirline(originalFlight.Airline);

            if (null != airline)
            {
                var flightDate = reviseFlightDate ?? originalFlight.FlightDate;
                var basicPrice = FoundationService.QueryBasicPrice(originalFlight.Airline, originalFlight.Departure, originalFlight.Arrival, flightDate);
                if (null != basicPrice)
                {
                    result = new Flight(originalFlight.Airline, originalFlight.FlightNo)
                    {
                        AirlineName   = airline.ShortName,
                        Departure     = getAirport(originalFlight.Departure, originalFlight.TerminalOfDeparture),
                        Arrival       = getAirport(originalFlight.Arrival, originalFlight.TerminalOfArrival),
                        FlightDate    = flightDate,
                        TakeoffTime   = originalFlight.TakeoffTime,
                        LandingTime   = originalFlight.LandingTime,
                        StandardPrice = basicPrice.Price,
                        AirCraft      = originalFlight.AirCraft,
                        IsStop        = originalFlight.IsStop,
                        DaysInterval  = originalFlight.AddDays,
                        AirportFee    = FoundationService.QueryAirportFee(originalFlight.AirCraft),
                        BAF           = FoundationService.QueryBAF(originalFlight.Airline, basicPrice.Mileage)
                    };
                }
            }
            return(result);
        }
Esempio n. 2
0
        private static IEnumerable <Bunk> getBunks(Command.Domain.FlightQuery.Flight originalFlight, Flight flight, BunkFilter bunkFilter, out List <Bunk> filteredBunks)
        {
            var result = new List <Bunk>();

            filteredBunks = new List <Bunk>();
            foreach (var originalBunk in originalFlight.Bunks)
            {
                List <Bunk> fbunks;
                var         bunks = getBunks(flight, originalBunk, bunkFilter, out fbunks);
                result.AddRange(bunks);
                filteredBunks.AddRange(fbunks);
            }
            return(result);
        }