private async void NearestStop() { nearestStopId = 0; ProgressBar.Visibility = Windows.UI.Xaml.Visibility.Visible; testoControllo.Text = "Sto ottenendo la posizione..."; try { Geoposition geoposition = await Settings.getPosition(); Geopoint punto = new Geopoint(new BasicGeoposition() { Latitude = geoposition.Coordinate.Point.Position.Latitude, Longitude = geoposition.Coordinate.Point.Position.Longitude }); testoControllo.Text = "Sto cercando la stazione più vicina..."; TrainStop nearest = Settings.nearestStop(punto, await DBSource.Stations); nearestStopId = nearest.Id; testoControllo.Text = nearest.Name; listView.ItemsSource = await DBSource.getPartenze(nearest.Id, DateTime.Now, false, 7); positionNotFound = false; ProgressBar.Visibility = Windows.UI.Xaml.Visibility.Collapsed; } catch (DisabledPositionException ex) { testoControllo.Text = ex.Message; positionNotFound = true; ProgressBar.Visibility = Windows.UI.Xaml.Visibility.Collapsed; } catch (PositionNotFoundException ex) { testoControllo.Text = ex.Message; positionNotFound = true; ProgressBar.Visibility = Windows.UI.Xaml.Visibility.Collapsed; } catch (ArgumentOutOfRangeException) { testoControllo.Text = "Errore. Non ci sono dati."; positionNotFound = false; ProgressBar.Visibility = Windows.UI.Xaml.Visibility.Collapsed; } catch (System.UnauthorizedAccessException) { testoControllo.Text = "Posizione non disponibile."; positionNotFound = true; ProgressBar.Visibility = Windows.UI.Xaml.Visibility.Collapsed; } if (refresh != null) { refresh.IsEnabled = true; } System.Diagnostics.Debug.WriteLine(positionNotFound); }
private async void VediTutto_Click(object sender, RoutedEventArgs e) { ObservableCollection <string> direzioni = new ObservableCollection <string>(); direzioni.Add("Tutte"); IEnumerable <Partenza> part; try { part = await listaPartenze(true); } catch { return; } string[] dire = part.Select(dirz => dirz.Direction).ToArray(); foreach (string direzione in dire) { if (!direzioni.Contains(direzione)) { direzioni.Add(direzione); } } DBSource.TempDirezioni = direzioni; DBSource.TempMostraTutto = showAll; DBSource.DialogOk = false; FilterDialog filtro = new FilterDialog(); try { await filtro.ShowAsync(); if (DBSource.DialogOk) { System.Diagnostics.Debug.WriteLine("OKDIALOG"); System.Diagnostics.Debug.WriteLine(DBSource.tempDirezione); showAll = DBSource.TempMostraTutto; System.Diagnostics.Debug.WriteLine("MOSTRATUTTO = " + showAll); if (DBSource.TempMostraTutto) { partenze = await DBSource.getPartenze(trainStop.Id, DBSource.tempDirezione); } else { partenze = await DBSource.getPartenze(trainStop.Id, DateTime.Now, DBSource.tempDirezione); } itemListView.ItemsSource = partenze; } } catch (Exception) { } }
private async Task <IEnumerable <Partenza> > listaPartenze(bool show) { try { IEnumerable <Partenza> partenze; if (show) { partenze = await DBSource.getPartenze(trainStop.Id, true); } else { partenze = await DBSource.getPartenze(trainStop.Id, DateTime.Now, true); } return(partenze); } catch (InvalidTrainStopException ex) { printErrorMessage(ex, ex.IDTreno); return(null); } }
private async void getPartenze(bool show) { try { progressBar.Visibility = Windows.UI.Xaml.Visibility.Visible; if (show) { partenze = await DBSource.getPartenze(trainStop.Id); } else { partenze = await DBSource.getPartenze(trainStop.Id, DateTime.Now); } itemListView.ItemsSource = partenze; progressBar.Visibility = Windows.UI.Xaml.Visibility.Collapsed; } catch (InvalidTrainStopException ex) { printErrorMessage(ex, ex.IDTreno); } }