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();
        }
Beispiel #3
0
        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");
        }
Beispiel #4
0
        /**
         * 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);
                    }
                }
            }
        }