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; } }