コード例 #1
0
        private void OnLoadUnitedStatesAirlineTrafficCompleted(object sender, AirlinesDataCompletedEventArgs e)
        {
            var dataProvider = sender as AirlinesDataProvider;

            if (dataProvider != null)
            {
                //var minTime = dataProvider.AmericanFlightTimeMin.Subtract(TimeSpan.FromMinutes(1));
                //var maxTime = dataProvider.AmericanFlightTimeMax.Add(TimeSpan.FromMinutes(1));
                var minTime = DateTime.MaxValue;
                var maxTime = DateTime.MinValue;

                var airports     = dataProvider.Airports;
                var flights      = new List <AirlineFlight>(); // dataProvider.Flights;
                var flightFilter = 4;
                foreach (var flight in dataProvider.Flights)
                {
                    if (flightFilter % 4 == 0)
                    {
                        flights.Add(flight);
                        minTime = new DateTime(System.Math.Min(minTime.Ticks, flight.DepartureTime.Ticks));
                        maxTime = new DateTime(System.Math.Max(maxTime.Ticks, flight.ArrivalTime.Ticks));
                    }
                    flightFilter++;
                }
                minTime = minTime.Subtract(TimeSpan.FromMinutes(1));
                maxTime = maxTime.Add(TimeSpan.FromMinutes(1));

                var dataViewSource = new AirlineTrafficDataViewSource
                {
                    Source              = airports,
                    AirportsDataSource  = airports,
                    FlightsDataSource   = flights,
                    DataSourceTrademark = CommonStrings.SourceData_USAT,
                };
                dataViewSource.DataMotionFramework.MotionSlider.MinValue = minTime;
                dataViewSource.DataMotionFramework.MotionSlider.MaxValue = maxTime;
                dataViewSource.DataMotionFramework.MotionSlider.Value    = minTime;
                dataViewSource.DataMotionFramework.MotionSlider.Interval = TimeSpan.FromMinutes(15);
                dataViewSource.DataMotionFramework.MotionUpdateInterval  = TimeSpan.FromSeconds(0.25);
                //dataViewSource.DataMotionFramework.MotionSlider.Value = maxTime;)

                this.DataSources.Update(UnitedStatesAirlineTrafficKey, dataViewSource);

                _unitedStatesAirlineTraffic = this.DataSources[UnitedStatesAirlineTrafficKey] as AirlineTrafficDataViewSource;
                OnLoadDataCompleted(UnitedStatesAirlineTrafficKey);
                //this.UnitedStatesAirlineTraffic = this.DataSources[UnitedStatesAirlineTrafficKey] as AirlineTrafficDataViewSource;

                LoadingTimer.StopTask("LoadUnitedStatesAirlineTraffic");
            }
        }
コード例 #2
0
 private void OnLoadWorldAirportsCodesCompleted(object sender, AirlinesDataCompletedEventArgs e)
 {
     this.WorldAirports = e.Airports;
     // LoadWorldWeather();
     LoadingTimer.StopTask("LoadWorldAirports");
 }