示例#1
0
        private async void Init()
        {
            var localFolder = ApplicationData.Current.LocalFolder;

            try
            {
                StartTextBox.Visibility   = Visibility.Collapsed;
                EndTextBox.Visibility     = Visibility.Collapsed;
                SendButton.Visibility     = Visibility.Collapsed;
                LoadingIndicator.IsActive = true;

                if (await localFolder.TryGetItemAsync("stops.json") != null && await localFolder.TryGetItemAsync("routes.json") != null)
                {
                    var stopsFile = await localFolder.GetFileAsync("stops.json");

                    var content = await FileIO.ReadTextAsync(stopsFile);

                    App.Stops = JsonConvert.DeserializeObject <List <Stop> >(content);

                    var routesFile = await localFolder.GetFileAsync("routes.json");

                    content = await FileIO.ReadTextAsync(routesFile);

                    App.Routes = JsonConvert.DeserializeObject <List <Route> >(content);
                }
                else
                {
                    StorageFile stopsFile =
                        await localFolder.CreateFileAsync("stops.json", CreationCollisionOption.ReplaceExisting);

                    StorageFile routesFile =
                        await localFolder.CreateFileAsync("routes.json", CreationCollisionOption.ReplaceExisting);

                    App.Stops = await PtxAPI.GetStops();

                    App.Routes = await PtxAPI.GetRoutes();

                    var json = JsonConvert.SerializeObject(App.Stops);
                    await FileIO.WriteTextAsync(stopsFile, json);

                    json = JsonConvert.SerializeObject(App.Routes);
                    await FileIO.WriteTextAsync(routesFile, json);
                }
            }
            finally
            {
                LoadingIndicator.IsActive = false;
                StartTextBox.Visibility   = Visibility.Visible;
                EndTextBox.Visibility     = Visibility.Visible;
                SendButton.Visibility     = Visibility.Visible;
            }
        }