private View getView() { _listView = new ListView() { ItemTemplate = new DataTemplate(typeof(MieiCorsiCell)), VerticalOptions = LayoutOptions.FillAndExpand, SeparatorColor = Color.Transparent, HasUnevenRows = true, ItemsSource = _db.GetAllMieiCorsi() }; // _listView.SetBinding(ListView.ItemsSourceProperty, "ListaLezioni"); _listView.ItemSelected += (sender, e) => { ((ListView)sender).SelectedItem = null; }; var layout = new StackLayout() { Padding = new Thickness(15, 10, 15, 10), Spacing = 5, HorizontalOptions = LayoutOptions.FillAndExpand, VerticalOptions = LayoutOptions.FillAndExpand, Children = { _listView } }; MessagingCenter.Subscribe <MieiCorsiCell> (this, "delete_corso_fav_impostazioni", (sender) => { _listView.ItemsSource = _db.GetAllMieiCorsi(); }); return(layout); }
async void RemoveAction_Clicked(object sender, EventArgs e) { var mi = ((Xamarin.Forms.MenuItem)sender); var preferito = mi.CommandParameter as Preferiti; //var corso = _db.GetAllMieiCorsi().FirstOrDefault(x => x.Insegnamento == orario.Insegnamento); var corso = new Corso() { Insegnamento = preferito.Insegnamento, Codice = preferito.Codice, Docente = preferito.Docente, }; var toast = DependencyService.Get <IToastNotificator>(); //**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; } corso = await _service.GetCorso(preferito); preferito.IdCorso = corso.Id; await _service.DeletePreferito(preferito); _db.DeleteMieiCorsi(preferito); MessagingCenter.Send <MieiCorsiCell>(this, "delete_corso_fav_impostazioni"); //var toast = DependencyService.Get<IToastNotificator>(); await toast.Notify(ToastNotificationType.Error, "Complimenti", corso.Insegnamento + " rimosso dai preferiti!", TimeSpan.FromSeconds(3)); Settings.MieiCorsiCount = _db.GetAllMieiCorsi().Count(); }
protected override void OnAppearing() { base.OnAppearing(); Settings.MieiCorsiCount = _db.GetAllMieiCorsi().Count(); getPreferitiString(); _lblLastUpdate.Text = Settings.LastUpdate; getFileString(); }
private async Task updateDbOrariUtenza() { var _listOrariGiorno = _db.GetAllOrari(); //Elimina gli orari già passati foreach (var l in _listOrariGiorno) { if (l.Date < _oggi.Data) { _db.DeleteSingleOrari(l.IdOrario); } } ; 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 day in listGiorni) { //Corsi generale, utenza + corsi var db = Settings.FacoltaDB; string s = await Web.GetOrarioGiornaliero(Settings.FacoltaDB, Settings.FacoltaId, 0, day.DateString); List <CorsoGiornaliero> listaCorsi = Web.GetSingleOrarioGiornaliero(s, 0, day.Data); if (listaCorsi.Count() != 0) { updateSingleCorso(_db, listaCorsi); } } Settings.MieiCorsiCount = _db.GetAllMieiCorsi().Count(); _db.CheckUtenzeDoppioni(); }
// 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 ToolbarItem tbiSync; #endregion #region Constructor public TabbedHomeView() { _db = new DbSQLite(); _service = new AzureDataService(); Logcat.Write("COUNT: " + _db.GetAllMieiCorsi().Count()); this.Title = "Home"; //IdentifyingUser (); //IDENTIFYING USER DISABLE!! //BackgroundColor = ColorHelper.White; Logcat.Write(string.Format("{0}: {1}", "TabbedHomeView", "costruttore")); checkDays(); //controllo che giorni sono necessari nelle tab //RIMOSSO PER DEBUG!! //loadListCorsiGiorno(); //carico la lista dei giorni this.ItemTemplate = new DataTemplate(() => { return(new TabbedDayView()); }); //tbiSync = new ToolbarItem("Sync", "ic_sync.png", sync, 0, 0); //ToolbarItems.Add(tbiSync); MessagingCenter.Subscribe <TabbedDayView>(this, "delete_corso", (sender) => { loadListCorsiGiorno(); }); MessagingCenter.Subscribe <OrarioFavCell> (this, "delete_corso_fav", (sender) => { loadListCorsiGiorno(); }); MessagingCenter.Subscribe <OrarioFavCell> (this, "delete_corso_fav_impostazioni", (sender) => { loadListCorsiGiorno(); }); MessagingCenter.Subscribe <TabbedDayView, int>(this, "pullToRefresh", (sender, x) => { //serve per refreshare i corsi nella tabbed day view //this.SelectedItem = null; loadListCorsiGiorno(); }); //MessagingCenter.Subscribe<OrarioGiornCell>(this, "delete_corso_context", deleteMioCorsoContext); //MessagingCenter.Subscribe<TabbedDayView>(this, "delete_corso", loadListCorsiGiorno()); }
private async Task updateDbOrariUtenza() { var _listOrariGiorno = _db.GetAllOrari(); //Elimina gli orari già passati //***TO CHECK! foreach (var l in _listOrariGiorno) { if (l.Date < DateTime.Today.Date) //se l'orario è di ieri lo cancello { _db.DeleteSingleOrari(l.IdOrario); } } ; 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 day in _viewModel.ListGiorni) { //Corsi generale, utenza + corsi var db = Settings.FacoltaDB; string s = await Web.GetOrarioGiornaliero(Settings.FacoltaDB, Settings.FacoltaId, 0, day.DateString); List <CorsoGiornaliero> listaCorsi = Web.GetSingleOrarioGiornaliero(s, 0, day.Data); if (listaCorsi.Count() != 0) { updateSingleCorso(_db, listaCorsi); } } Settings.MieiCorsiCount = _db.GetAllMieiCorsi().Count(); _db.CheckUtenzeDoppioni(); //Settings.LastUpdate = DateTime.Now.ToString ("R"); //Settings.ToUpdate = false; Settings.LastUpdate = DateTime.Now.ToString("dd/MM/yyyy HH:mm:ss"); }
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 }); }
// 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); }