private void updateSingleCorso(List <CorsoGiornaliero> listaCorsi) { foreach (var l in listaCorsi) { var corso = l; if (_db.CheckAppartieneMieiCorsi(l)) { //_db.InsertUpdate(l); var orario = new Orari() { Insegnamento = corso.Insegnamento, Codice = corso.Codice, AulaOra = corso.AulaOra, Note = corso.Note, Date = corso.Date, Docente = corso.Docente, }; if (_db.AppartieneOrari(orario)) //l'orario è già presente { var o = _db.GetAllOrari().FirstOrDefault(y => y.Insegnamento == orario.Insegnamento && y.Date == orario.Date); if ((string.Compare(o.Note, corso.Note) != 0) || !o.Notify) //ci sono state notifiche non ancora segnalate { o.Note = corso.Note; o.AulaOra = corso.AulaOra; if (o.Note != null && o.Note != "" && !o.Notify) { Logcat.Write("---------- - Invio Notifica: " + o.Insegnamento); Logcat.WriteDB(_db, "-----------Invio Notifica: " + o.Insegnamento); SendNotification(corso); Logcat.Write("-----------Invio Notifica OK"); Logcat.WriteDB(_db, "-----------Invio Notifica OK"); o.Notify = true; } _db.Update(o); } } else // l'orario non è presente nel mio db { orario.Notify = false; if (orario.Note != null && orario.Note != "" && !orario.Notify) { // SendNotification ("TROVATO CORSO ANNULLATO!"); SendNotification(corso); orario.Notify = true; } _db.Insert(orario); } } else if (corso.Insegnamento.Contains("UTENZA")) { _db.Insert(new Utenze() { Data = corso.Date, AulaOra = corso.AulaOra }); } } }
// 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)); } }
/** * Aggiorna il singolo corso, verificando se appartiene ai corsi e in caso, aggiorna, aggiunge o notifica * */ public static void updateSingleCorso(DbSQLite _db, List <CorsoGiornaliero> listaCorsi) { foreach (var c in listaCorsi) { var corso = c; Logcat.Write("ORARI_UNIBG: prima di Check"); if (_db.CheckAppartieneMieiCorsi(c)) { //_db.InsertUpdate(l); var orario = new Orari() { Insegnamento = corso.Insegnamento, Codice = corso.Codice, AulaOra = corso.AulaOra, Note = corso.Note, Date = corso.Date, Docente = corso.Docente, }; if (_db.AppartieneOrari(orario)) //l'orario è già presente { Logcat.Write("Orario già PRESENTE nel DB: " + orario.Insegnamento); var o = _db.GetAllOrari().FirstOrDefault(y => y.Insegnamento == orario.Insegnamento && y.Date.Date == orario.Date.Date && orario.AulaOra == y.AulaOra); if ((string.Compare(o.Note, corso.Note) != 0) || !o.Notify) { o.Note = corso.Note; o.AulaOra = corso.AulaOra; if (o.Note != null && o.Note != "" && !o.Notify) { DependencyService.Get <INotification>().SendNotification(corso); o.Notify = true; } _db.Update(o); } } else // l'orario non è presente nel mio db { orario.Notify = false; Logcat.Write("Orario NUOVO" + orario.Insegnamento); if (orario.Note != null && orario.Note != "" && !orario.Notify) { DependencyService.Get <INotification>().SendNotification(corso); //SendNotification(corso); orario.Notify = true; } _db.Insert(orario); } } else if (corso.Insegnamento.Contains("UTENZA")) //verifico se è un utenza { Utenze ut = new Utenze() { Data = corso.Date, AulaOra = corso.AulaOra }; if (!_db.AppartieneUtenze(ut)) { _db.Insert(ut); } } } }