private async Task updateDbOrariUtenza() { DateTime[] arrayDate = new DateTime[] { _oggi.Data, _domani.Data, _dopodomani.Data }; Logcat.WriteDB(_db, "Getting All Orari"); var _listOrariGiorno = _db.GetAllOrari(); //Elimina gli orari già passati Logcat.WriteDB(_db, "Finished: gettig all orari"); foreach (var l in _listOrariGiorno) { Logcat.WriteDB(_db, "Checking old orari!"); if (l.Date < _oggi.Data) { _db.DeleteSingleOrari(l.IdOrario); } } ; 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"); return; } foreach (var d in arrayDate) { Logcat.Write("Data Considerata: " + d.ToString()); Logcat.WriteDB(_db, string.Format("Ottenimento orari del {0}", d.Date.ToString("dd'/'MM'/'yyyy"))); string s = await Web.GetOrarioGiornaliero(Settings.FacoltaDB, Settings.FacoltaId, 0, d.ToString("dd'/'MM'/'yyyy")); List <CorsoGiornaliero> listaCorsi = Web.GetSingleOrarioGiornaliero(s, 0, d); Logcat.WriteDB(_db, string.Format("Lista corsi ottenuta {0}", d.Date.ToString("dd'/'MM'/'yyyy"))); if (listaCorsi.Count() != 0) { Logcat.WriteDB(_db, string.Format("Lista corsi non vuota, aggiornamento singolo corso")); updateSingleCorso(listaCorsi); } Logcat.WriteDB(_db, string.Format("Ottenimento orari del {0} COMPLETATO", d.Date.ToString("dd'/'MM'/'yyyy"))); } Logcat.WriteDB(_db, string.Format("Last Update: {0}", DateTime.Now.ToString("dd/MM/yyyy HH:mm:ss"))); Settings.LastUpdate = DateTime.Now.ToString("dd/MM/yyyy HH:mm:ss"); Settings.MieiCorsiCount = _db.GetAllMieiCorsi().Count(); Logcat.WriteDB(_db, "AGGIORNAMENTO COMPLETATO!"); Logcat.Write("AGGIORNAMENTO COMPLETATO!"); }
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(); }
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"); }
/** * 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); } } } }