public async static Task <Posizione> AcquisisciPosizione() { try { GeolocationRequest geoRequestOptions = new GeolocationRequest(GeolocationAccuracy.Best, TimeSpan.FromSeconds(10)); Location location = await Geolocation.GetLocationAsync(geoRequestOptions); Posizione p = new Posizione { Latitudine = location.Latitude, Longitudine = location.Longitude, DataAcquisizione = DateTime.Now }; var placemarks = await Geocoding.GetPlacemarksAsync(p.Latitudine, p.Longitudine); var placemark = placemarks?.FirstOrDefault(); if (placemark != null) { p.NomeCitta = placemark.Locality; p.Via = placemark.Thoroughfare + " " + placemark.SubThoroughfare; } return(p); } catch (Exception ex) { throw ex; } }
public static void ImpostaTimer(Posizione posizioneAssociata, int ore, int minuti) { DateTime ora = DateTime.Now; DateTime dataNotifica = new DateTime( ora.Year, ora.Month, ora.Day, ore, minuti, 0 ); //INotificaCreator notificaCreator = new NotificaCreatorNotifierPlugin(); INotificaCreator notificaCreator = DependencyService.Get <INotificaCreator>(); notificaCreator.CreaNotifica(posizioneAssociata, dataNotifica); }
public async Task ImpostaTimer(int ore, int minuti) { try { Posizione posizioneAssociata = await this.GetUltimaPosizioneSalvata(); TimerCreator.ImpostaTimer(posizioneAssociata, ore, minuti); } catch (Exception ex) { throw new Exception($"Acquisizione timer non riuscita:{ex.Message} ", ex); } }
public async Task AcquisisciPosizione() { try { Posizione posizioneDaSalvare = await PosizioneCreator.AcquisisciPosizione(); await database.SalvaPosizioneAsync(posizioneDaSalvare); } catch (FeatureNotEnabledException ex) { throw new Exception($"Acquisizione posizione non riuscita: Attiva il gps sul tuo dispositivo", ex); } }
public void CreaNotifica(Posizione posizioneAssociata, DateTime dataNotifica) { try { Notifica notifica = new Notifica(posizioneAssociata); notifica.DataNotifica = dataNotifica; SchedulaNotifica(notifica); } catch (Exception ex) { throw new Exception($"Problema con gestione notifica:{ex.Message}", ex); } }
public async Task <bool> ScattaFoto() { try { Posizione posizioneDaAggiornare = await this.GetUltimaPosizioneSalvata(); Stream fotoStream = await FotoCreator.ScattaFoto(); if (fotoStream != null) { posizioneDaAggiornare.byteImmagine = ConvertStreamtoByte(fotoStream); PosizioneDatabase dbPos = new PosizioneDatabase(); await dbPos.SalvaPosizioneAsync(posizioneDaAggiornare); return(true); } return(false); } catch (Exception ex) { throw new Exception($"Acquisizione foto non riuscita:{ex.Message} ", ex); } }
public Notifica(Posizione _posizioneAssociata) { IdNotifica = _posizioneAssociata.Id; Messaggio = "Accedi all'app e trova la tua auto"; //a " + _posizioneAssociata.NomeCitta + " in " + _posizioneAssociata.Via; }
public override void CancellaNotifica(Posizione posizioneAssociata) { CrossLocalNotifications.Current.Cancel(posizioneAssociata.Id); }
public abstract void CancellaNotifica(Posizione posizioneAssociata);