Пример #1
0
 private async void Button_Click(object sender, RoutedEventArgs e)
 {
     var openPicker = new Windows.Storage.Pickers.FileOpenPicker();
     openPicker.ViewMode = Windows.Storage.Pickers.PickerViewMode.List;
     openPicker.SuggestedStartLocation = Windows.Storage.Pickers.PickerLocationId.ComputerFolder;
     // Users expect to have a filtered view of their folders depending on the scenario.
     // For example, when choosing a documents folder, restrict the filetypes to documents for your application.
     openPicker.FileTypeFilter.Add(".phy");// ([".png", ".jpg", ".jpeg"]);
     StorageFile file = await openPicker.PickSingleFileAsync();
     if (file != null)
     {
         AddFileViewModel model = new AddFileViewModel(file);
         this.ViewModel = model;
         this.DataContext = model;
         this.Dispatcher.RunAsync(Windows.UI.Core.CoreDispatcherPriority.Normal,
             new Windows.UI.Core.DispatchedHandler(
             delegate()
             {
                 model.InitLoadHeader();
             }));
     }
     else
     {
         this.ViewModel = null;
         this.DataContext = null;
     }
 }
        protected async override void OnNavigatedTo(NavigationEventArgs e)
        {
            base.OnNavigatedTo(e);

            var openPicker = new Windows.Storage.Pickers.FileOpenPicker();
            openPicker.ViewMode = Windows.Storage.Pickers.PickerViewMode.List;
            openPicker.SuggestedStartLocation = Windows.Storage.Pickers.PickerLocationId.ComputerFolder;
            openPicker.FileTypeFilter.Add(".phy");
            IReadOnlyList<StorageFile> files = await openPicker.PickMultipleFilesAsync();
            if (files != null && files.Count() > 0)
            {
                this.m_addFileModels.Clear();

                foreach (var file in files)
                {
                    var aircraftModel = AircraftDataAnalysisWinRT.ApplicationContext.Instance.CurrentAircraftModel;
                    var flightParameter = AircraftDataAnalysisWinRT.ApplicationContext.Instance.GetFlightParameters(
                        ApplicationContext.Instance.CurrentAircraftModel);
                    FlightDataEntitiesRT.IFlightRawDataExtractor extractor = null;
                    FlightDataEntitiesRT.Flight currentFlight = null;

                    CreateTempCurrentFlight(file, aircraftModel, flightParameter, ref extractor, ref currentFlight);

                    AddFileViewModel model = new AddFileViewModel(currentFlight, file, extractor,
                        aircraftModel, flightParameter);
                    model.InitLoadHeader();
                    this.m_addFileModels.Add(model);
                }

                rgdItems.ItemsSource = this.m_addFileModels;
            }
            else
            {
                this.Frame.GoBack();
            }
        }
        protected async override void OnNavigatedTo(NavigationEventArgs e)
        {
            base.OnNavigatedTo(e);

            var openPicker = new Windows.Storage.Pickers.FileOpenPicker();
            openPicker.ViewMode = Windows.Storage.Pickers.PickerViewMode.List;
            openPicker.SuggestedStartLocation = Windows.Storage.Pickers.PickerLocationId.ComputerFolder;
            openPicker.FileTypeFilter.Add(".phy");
            IReadOnlyList<StorageFile> files = await openPicker.PickMultipleFilesAsync();
            if (files != null && files.Count() > 0)
            {
                this.m_addFileModels.Clear();

                bool allCorrect = true;

                foreach (var file in files)
                {
                    var aircraftModel = AircraftDataAnalysisWinRT.ApplicationContext.Instance.CurrentAircraftModel;
                    var flightParameter = AircraftDataAnalysisWinRT.ApplicationContext.Instance.GetFlightParameters(
                        ApplicationContext.Instance.CurrentAircraftModel);
                    FlightDataEntitiesRT.IFlightRawDataExtractor extractor = null;
                    FlightDataEntitiesRT.Flight currentFlight = null;

                    bool correct = CreateTempCurrentFlight(file, aircraftModel, flightParameter, ref extractor, ref currentFlight);

                    AddFileViewModel model = new AddFileViewModel(currentFlight, file, extractor,
                        aircraftModel, flightParameter);
                    model.IsTempFlightParseError = !correct;
                    allCorrect = allCorrect & correct;

                    model.InitLoadHeader();
                    if (model.Header != null)
                    {
                        currentFlight.EndSecond = model.Header.FlightSeconds;
                        if (model.Header.Latitudes != null && model.Header.Longitudes != null)
                            currentFlight.GlobeDatas = AddFileViewModel.ToGlobeDatasStatic(model.Header.Latitudes, model.Header.Longitudes);
                    }
                    this.m_addFileModels.Add(model);
                }

                if (allCorrect == false)
                    this.tbMessage1.Visibility = Windows.UI.Xaml.Visibility.Visible;

                rgdItems.ItemsSource = this.m_addFileModels;
            }
            else
            {
                this.Frame.GoBack();
            }
        }
        private async void Button_Click(object sender, RoutedEventArgs e)
        {
            var openPicker = new Windows.Storage.Pickers.FileOpenPicker();
            openPicker.ViewMode = Windows.Storage.Pickers.PickerViewMode.List;
            openPicker.SuggestedStartLocation = Windows.Storage.Pickers.PickerLocationId.ComputerFolder;
            openPicker.FileTypeFilter.Add(".phy");// ([".png", ".jpg", ".jpeg"]);
            StorageFile file = await openPicker.PickSingleFileAsync();
            if (file != null)
            {
                var aircraftModel = ServerHelper.GetCurrentAircraftModel();
                var flightParameter = ServerHelper.GetFlightParameters(aircraftModel);
                FlightDataEntitiesRT.IFlightRawDataExtractor extractor = null;

                if (aircraftModel != null && !string.IsNullOrEmpty(aircraftModel.ModelName))
                {
                    if (aircraftModel.ModelName == "F4D")
                    {
                        var result = FlightDataReading.AircraftModel1.FlightRawDataExtractorFactory
                            .CreateFlightRawDataExtractor(file, flightParameter);
                        extractor = result;
                    }
                }
                this.CurrentFlight = new FlightDataEntitiesRT.Flight()
                {
                    Aircraft = new FlightDataEntitiesRT.AircraftInstance()
                    {
                        AircraftModel = aircraftModel,
                        AircraftNumber = "1234", //debug
                        LastUsed = DateTime.Now
                    },
                    StartSecond = 0,
                    FlightName = file.Name,
                    FlightID = this.RemoveIllegalChars(file.DisplayName)
                };

                AddFileViewModel model = new AddFileViewModel(this.CurrentFlight,
                    file, extractor, aircraftModel, flightParameter);
                model.InitLoadHeader();
                this.ViewModel = model;
                if (this.ViewModel != null && this.ViewModel.Header != null)
                {
                    //this.CurrentFlight = new FlightDataEntitiesRT.Flight()
                    //{
                    //    Aircraft = new FlightDataEntitiesRT.AircraftInstance()
                    //    {
                    //        AircraftModel =
                    //            ServerHelper.GetCurrentAircraftModel(),
                    //        AircraftNumber = "1234", //debug
                    //        LastUsed = DateTime.Now
                    //    },
                    //    EndSecond = model.Header.FlightSeconds,
                    //    StartSecond = 0,
                    //    FlightName = file.Name,
                    //    FlightID = this.RemoveIllegalChars(file.DisplayName)
                    //};
                }
                else { this.CurrentFlight = null; }
                this.flightHost.DataContext = this.CurrentFlight;
            }
            else
            {
                this.ViewModel = null;
                this.DataContext = null;
            }

            this.tbMessage.Text = "Command completed " + DateTime.Now.ToString();
        }