//		void RemoveAction_Clicked (object sender, EventArgs e)
//		{
//			var mi = ((Xamarin.Forms.MenuItem)sender);
//			var orario = mi.CommandParameter as Orari;
//
//			var corso = _db.GetAllMieiCorsi().FirstOrDefault(x => x.Insegnamento == orario.Insegnamento);
//			_db.DeleteMieiCorsi(corso);
//
//			MessagingCenter.Send<OrarioGiornCell>(this, "delete_corso_context");
//			Debug.WriteLine(orario.Insegnamento);
//		}

        async void AddAction_Clicked(object sender, EventArgs e)
        {
            var mi     = ((Xamarin.Forms.MenuItem)sender);
            var orario = mi.CommandParameter as CorsoGiornaliero;
            var x      = _db.GetAllMieiCorsi();

            var toast = DependencyService.Get <IToastNotificator>();

            //if (_db.CheckAppartieneMieiCorsi (orario)) {
            //	await toast.Notify (ToastNotificationType.Error, "Attenzione!", orario.Insegnamento + " è già stato aggiunto ai tuoi preferiti!", TimeSpan.FromSeconds (3));
            //} else {
            //	_db.Insert(new Preferiti() { Codice = orario.Codice, Docente = orario.Docente, Insegnamento = orario.Insegnamento });
            //	await toast.Notify (ToastNotificationType.Success, "Complimenti", orario.Insegnamento + " aggiunto ai preferiti!", TimeSpan.FromSeconds (3));
            //}

            if (_db.CheckAppartieneMieiCorsi(orario))
            {
                await toast.Notify(ToastNotificationType.Error, "Attenzione!", orario.Insegnamento + " è già stato aggiunto ai tuoi preferiti!", TimeSpan.FromSeconds(3));
            }
            else
            {
                //**NON C'E CONNESSIONE INTERNET**
                if (!CrossConnectivity.Current.IsConnected)
                {   //non connesso a internet
                    await toast.Notify(ToastNotificationType.Error, "Errore", "Nessun accesso a internet", TimeSpan.FromSeconds(3));

                    return;
                }
                //await _service.Initialize();
                var preferito = new Preferiti()
                {
                    Codice = orario.Codice, Docente = orario.Docente, Insegnamento = orario.Insegnamento
                };
                var corso = new Corso()
                {
                    Insegnamento = preferito.Insegnamento, Codice = preferito.Codice, Docente = preferito.Docente,
                };

                await _service.AddCorso(corso);

                corso = await _service.GetCorso(corso);

                preferito.IdCorso = corso.Id;
                await _service.AddPreferito(preferito);

                _db.Insert(preferito);
                await toast.Notify(ToastNotificationType.Success, "Complimenti", orario.Insegnamento + " aggiunto ai preferiti!", TimeSpan.FromSeconds(3));
            }
        }
        private async void toolbarItem_next()
        {
            ToolbarItems.Remove(tbiNext);
            _activityIndicator.IsRunning = true;
            _activityIndicator.IsVisible = true;

            //**NON C'E CONNESSIONE INTERNET**
            if (!CrossConnectivity.Current.IsConnected)
            {   //non connesso a internet
                var toast = DependencyService.Get <IToastNotificator>();
                await toast.Notify(ToastNotificationType.Error, "Errore", "Nessun accesso a internet", TimeSpan.FromSeconds(3));

                return;
            }

            foreach (var preferito in _preferiti)
            {
                //add corso
                var corso = new Corso()
                {
                    Insegnamento = preferito.Insegnamento, Codice = preferito.Codice, Docente = preferito.Docente,
                };
                await _service.AddCorso(corso);

                corso = await _service.GetCorso(corso);

                preferito.IdCorso = corso.Id;
                //add preferito
                await _service.AddPreferito(preferito);

                _db.Insert(preferito);
            }


            Settings.MieiCorsiCount = _db.GetAllMieiCorsi().Count();

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

            DateTime[] arrayDate = new DateTime[] { _oggi.Data, _domani.Data, _dopodomani.Data };

            if (!CrossConnectivity.Current.IsConnected)               //non connesso a internet
            {
                var toast = DependencyService.Get <IToastNotificator>();
                await toast.Notify(ToastNotificationType.Error, "Errore", "Nessun accesso a internet", TimeSpan.FromSeconds(3));

                return;
            }
            else                //CONNESSIONE A INTERNET
            {
                foreach (var d in arrayDate)
                {
                    //Corsi generale, utenza + corsi
                    string s = await Web.GetOrarioGiornaliero(Settings.FacoltaDB, Settings.FacoltaId, 0, d.ToString("dd'/'MM'/'yyyy"));

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

                    if (listaCorsi.Count() != 0)
                    {
                        TabbedHomeView.updateSingleCorso(_db, listaCorsi);
                    }
                }
            }

            _activityIndicator.IsRunning = false;
            _activityIndicator.IsVisible = false;

            if (Settings.BackgroundSync)
            {
                DependencyService.Get <INotification> ().BackgroundSync();
            }

            await Navigation.PushModalAsync(new MasterDetailView()
            {
                Service = _service
            });
        }