protected override async void OnHandleIntent(Android.Content.Intent intent)
        {
            db = new DbSQLite();
            System.Diagnostics.Debug.WriteLine("START SERVICE");
            _intent = intent;
            DateTime date;

            if (DateTime.Now.Hour > 18)
            {
                date = DateTime.Now.AddDays(1);
            }
            else
            {
                date = DateTime.Now;
            }

            string s = await Web.GetOrarioGiornaliero("IN", 1, 19, date.ToString("dd'/'MM'/'yyyy"));

            List <CorsoGiornaliero> lista = Web.GetSingleOrarioGiornaliero(s, 0);

            /*
             * lista dei corsi salvati. Scandisco ogni elemento della lista con la lista di tutti i corsi di giornata
             * se insegnamento+ora sono uguali, verifico se le Note cambiano. Se cambiano, la salvo nel database e invio la notifica
             * */

            foreach (var l in lista)
            {
                foreach (var x in db.GetItems())
                {
                    if (l.Insegnamento == x.Insegnamento)
                    {
                        x.
                        SendNotification(l);
                    }
                }
            }

            // Release the wake lock provided by the BroadcastReceiver.
            SampleAlarmReceiver.CompleteWakefulIntent(intent);
        }
//		public SampleSchedulingService() : base("SchedulingIntentService")
//		{ }

        protected async override void OnHandleIntent(Android.Content.Intent intent)
        {
            Logcat.Write("ALARM: " + DateTime.Now.ToLongTimeString());

            _db = App.Database;

            if (_db == null)
            {
                App.Init(new DbSQLite(new SQLite_Android().GetConnection()));
                _db = App.Database;
//				if (_db == null)
//					Logcat.Write ("_db ancora NULL dopo INIT");
//				else
//					Logcat.Write ("_db NOT NULL dopo INIT");
            }
            else
            {
                Logcat.Write("_db NOT NULL");
            }

            Logcat.WriteDB(_db, "Allarme attivato");
            Logcat.Write("NUMERO MIEI CORSI: " + _db.GetAllMieiCorsi().Count());

            _intent = intent;
            //_listOrariGiorno = _db.GetAllOrari();

            Logcat.Write("Updating Date Time");
            if (DateTime.Now.Hour > Settings.UpdateHour) // && DateTime.Now.Minute > Settings.UpdateMinute)
            {
                _oggi = new DayViewModel()
                {
                    Data = DateTime.Today.AddDays(1)
                };
                _domani = new DayViewModel()
                {
                    Data = _oggi.Data.AddDays(1)
                };
                _dopodomani = new DayViewModel()
                {
                    Data = _domani.Data.AddDays(1)
                };
            }
            else
            {
                _oggi = new DayViewModel()
                {
                    Data = DateTime.Today
                };
                _domani = new DayViewModel()
                {
                    Data = _oggi.Data.AddDays(1)
                };
                _dopodomani = new DayViewModel()
                {
                    Data = _domani.Data.AddDays(1)
                };
            }


            if (!CrossConnectivity.Current.IsConnected)
            { //non connesso a internet
                Logcat.WriteDB(_db, "*************ERRORE");
                Logcat.WriteDB(_db, "AGGIORNAMENTO NON RIUSCITO, nessun accesso a internet");
                Logcat.Write("AGGIORNAMENTO NON RIUSCITO, nessun accesso a internet");
                //var toast = DependencyService.Get<IToastNotificator>();
                //await toast.Notify (ToastNotificationType.Error, "Errore", "Nessun accesso a internet", TimeSpan.FromSeconds (3));
                return;
            }

            /*SYNCRONIZZAZIONE BACKGROUND
             * lista dei corsi salvati. Scandisco ogni elemento della lista con la lista di tutti i corsi di giornata
             * se insegnamento+ora sono uguali, verifico se le Note cambiano. Se cambiano, la salvo nel database e invio la notifica
             * */
            try
            {
                for (int i = 0; i < 3; i++)
                {
                    Logcat.WriteDB(_db, string.Format("Tentativo {0} - SyncAzure", i + 1));
                    var success = await _db.SynchronizeAzureDb();

                    if (!success)
                    {
                        Logcat.WriteDB(_db, "*************ERRORE");
                        Logcat.WriteDB(_db, "SINCRONIZZAZIONE AZURE NON RIUSCITA, nessun accesso a internet");
                        //RETRYING??
                        continue; //riprovo
                        //return;
                    }
                    Logcat.WriteDB(_db, "---Autenticazione avvenuta con succeso!");

                    await updateDbOrariUtenza();

                    break; //se autenticazione avvenuta con successo, esco dal ciclo
                }
            }
            catch (Exception ex)
            {
                Logcat.WriteDB(_db, ex.Message);
                Logcat.Write(ex.Message);
            }

            // Release the wake lock provided by the BroadcastReceiver.
            SampleAlarmReceiver.CompleteWakefulIntent(intent);
        }