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));
            }
        }
示例#3
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);
                    }
                }
            }
        }