Example #1
0
        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;
            }
        }
Example #2
0
        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);
        }
Example #3
0
        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);
            }
        }
Example #4
0
        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);
            }
        }
Example #5
0
 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);
     }
 }
Example #6
0
        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);
            }
        }
Example #7
0
 public Notifica(Posizione _posizioneAssociata)
 {
     IdNotifica = _posizioneAssociata.Id;
     Messaggio  = "Accedi all'app e trova la tua auto"; //a " + _posizioneAssociata.NomeCitta + " in " + _posizioneAssociata.Via;
 }
Example #8
0
 public override void CancellaNotifica(Posizione posizioneAssociata)
 {
     CrossLocalNotifications.Current.Cancel(posizioneAssociata.Id);
 }
Example #9
0
 public abstract void CancellaNotifica(Posizione posizioneAssociata);