Пример #1
0
 //---------------------------------------------------------------
 public void AltaConfig(catConfig item)
 {
     lock (locker)
     {
         if ((from i in database.Table <catConfig>() where i.idconfig == item.idconfig select i).Count() > 0)
         {
             database.Update(item);
         }
         else
         {
             database.Insert(item);
         }
     }
 }
Пример #2
0
        public BD()
        {
            database = new SQLiteConnection(DatabasePath, true);
            // create the tables
            database.CreateTable <Usuario>();
            database.CreateTable <RecargaFrecuente>();
            database.CreateTable <SaldoMonedero>();
            database.CreateTable <Tarjeta>();
            database.CreateTable <Recarga>();
            database.CreateTable <RecargaMonedero>();
            database.CreateTable <RecargaProg>();
            database.CreateTable <catPais>();
            database.CreateTable <catEstado>();
            database.CreateTable <catMunicipio>();
            database.CreateTable <catEmisorTC>();
            database.CreateTable <catConfig>();
            database.CreateTable <catOperadora>();
            database.CreateTable <catPaquete>();
            database.CreateTable <catErrores>();
            database.CreateTable <msgreferidos>();

            if (database.Table <SaldoMonedero>().Count() == 0)
            {
                SaldoMonedero mon = new SaldoMonedero()
                {
                    idmonedero = 1, saldo = 0M, caducidad = DateTime.Now.AddYears(2)
                };
                database.Insert(mon);
            }
            if (database.Table <catConfig>().Count() == 0)
            {
                catConfig cfg = new catConfig()
                {
                    idconfig = 1, config = "Ultima vez que actualizo catPaquetes",
                };
                database.Insert(cfg);
                cfg = new catConfig()
                {
                    idconfig = 2, config = "Alguna vez loggeo", valor = "0"
                };
                database.Insert(cfg);
            }
        }
Пример #3
0
        public async Task <bool> Descarga()
        {
            bool   err  = false;
            string json = "";

            try
            {
                await Task.Run(() =>
                {
                    if (App.db.SelPais().Count() == 0)
                    {
                        lserrores = new ObservableCollection <catErrores>();
                        json      = App.WSc.GetCatalogo(6, "");
                        lserrores = JsonConvert.DeserializeObject <ObservableCollection <catErrores> >(json);
                        App.db.DescargaErrores(lserrores.ToList());

                        lspais = new ObservableCollection <catPais>();
                        json   = App.WSc.GetCatalogo(2, "");
                        lspais = JsonConvert.DeserializeObject <ObservableCollection <catPais> >(json);
                        App.db.DescargaPais(lspais.ToList());

                        lsestados = new ObservableCollection <catEstado>();
                        json      = App.WSc.GetCatalogo(7, "");
                        lsestados = JsonConvert.DeserializeObject <ObservableCollection <catEstado> >(json);
                        App.db.DescargaEstado(lsestados.ToList());

                        lsmunicipios = new ObservableCollection <catMunicipio>();
                        json         = App.WSc.GetCatalogo(8, "");
                        lsmunicipios = JsonConvert.DeserializeObject <ObservableCollection <catMunicipio> >(json);
                        App.db.DescargaMunicipio(lsmunicipios.ToList());

                        lsemisores = new ObservableCollection <catEmisorTC>();
                        json       = App.WSc.GetCatalogo(4, "");
                        lsemisores = JsonConvert.DeserializeObject <ObservableCollection <catEmisorTC> >(json);
                        App.db.DescargaEmisorTC(lsemisores.ToList());
                    }
                    catConfig cfg   = App.db.SelcatConfig().Where(x => x.idconfig == 1).FirstOrDefault();
                    string fechaant = cfg.valor;
                    DateTime dt     = DateTime.MinValue;
                    DateTime.TryParseExact(fechaant, "yyyyMMdd", System.Globalization.CultureInfo.InvariantCulture, System.Globalization.DateTimeStyles.None, out dt);
                    //if (dt.Date < DateTime.Now.Date)
                    //{
                    lsoperadoras = new ObservableCollection <catOperadora>();
                    json         = App.WSc.GetCatalogo(1, "");
                    lsoperadoras = JsonConvert.DeserializeObject <ObservableCollection <catOperadora> >(json);
                    App.db.DescargaOperadora(lsoperadoras.ToList());

                    lspaquetes = new ObservableCollection <catPaquete>();
                    json       = App.WSc.GetCatalogo(3, "");
                    lspaquetes = JsonConvert.DeserializeObject <ObservableCollection <catPaquete> >(json);
                    App.db.DescargaPaquete(lspaquetes.ToList());

                    cfg.valor = DateTime.Now.ToString("yyyyMMdd");
                    App.db.AltaConfig(cfg);
                    //}
                });
            }
            catch (Exception ex)
            {
                err = true;
            }
            return(err);
        }
Пример #4
0
        async void Descarga()
        {
            MainPage = new Cargando();
            bool err      = false;
            var  canReach = await App.HayCnxSrv(Settings.WebServiceCat);

            if (!App.HayCnx() || !canReach)
            {
                //Page p = new Page();
                UserDialogs.Instance.HideLoading();
                await MainPage.DisplayAlert("Aviso", "No hay conexion a internet o el servicio no esta disponible. Consulte con soporte tecnico", "OK");

                MainPage = Reintentar();
            }
            else
            {
                CatalogosViewModel cvm = new CatalogosViewModel();
                //MainPage = new Cargando();
                err = await cvm.Descarga();

                if (err)
                {
                    Page p = new Page();
                    UserDialogs.Instance.HideLoading();
                    await p.DisplayAlert("Aviso", "No hay conexion a internet o el servicio no esta disponible. Consulte con soporte tecnico", "OK");

                    MainPage = Reintentar();
                }
                else
                {
                    usr = db.SelUsr();

                    if (usr != null)
                    {
                        string json = "";
                        json = App.WSc.GetCatalogo(9, "where idusuario = " + usr.idusuario.ToString());
                        List <Tarjeta> lt = JsonConvert.DeserializeObject <List <tempuri.org.Tarjeta> >(json).Select(x => new Tarjeta {
                            idtarjeta = x.idtarjeta, idpais = x.idpais, idemisor = x.idemisor, idusuario = x.idusuario, Last4 = x.Last4
                        }).ToList();
                        db.DescargaTarjetas(lt);
                        json = "";
                        json = App.WSc.GetCatalogo(11, "where idusuario = " + usr.idusuario.ToString());
                        List <Recarga> lr = JsonConvert.DeserializeObject <List <Recarga> >(json);
                        db.DescargaRecargas(lr);
                        json = "";
                        json = App.WSc.GetCatalogo(12, "where idusuario = " + usr.idusuario.ToString());
                        List <SaldoMonedero> sm = JsonConvert.DeserializeObject <List <SaldoMonedero> >(json);
                        if (sm.Count() > 0)
                        {
                            db.DescargaSaldo(sm.FirstOrDefault());
                        }
                        json = "";
                        json = App.WSc.GetCatalogo(13, "where idusuario = " + usr.idusuario.ToString());
                        List <RecargaProg> lrp = JsonConvert.DeserializeObject <List <RecargaProg> >(json);
                        db.DescargaRecargasProg(lrp);
                        // Se bajan los msgs si hay recargas a monedero x referidos
                        json = "";
                        json = App.WSc.GetMsgReferidosPUsr(App.usr.idusuario);
                        msgreferidos msg = JsonConvert.DeserializeObject <List <msgreferidos> >(json).FirstOrDefault();
                        App.db.AltaMsgRef(msg);
                        json = "";
                        json = App.WSc.GetMsgReferidosPRef(App.usr.idusuario);
                        msg  = JsonConvert.DeserializeObject <List <msgreferidos> >(json).FirstOrDefault();
                        App.db.AltaMsgRef(msg);
                    }

                    UserDialogs.Instance.HideLoading();
                    if (usr == null)
                    {
                        usr = new Usuario();
                        if (Settings.TutoVisto1aVez)
                        {
                            catConfig cfg = App.db.SelcatConfig().Where(x => x.idconfig == 2).FirstOrDefault();
                            if (cfg == null || (cfg != null && cfg.valor == "0"))                             //1a vez
                            {
                                //var det = new NavigationPage(new CargarSaldo(null))
                                //{
                                //	BarTextColor = Color.White,
                                //	BarBackgroundColor = Color.FromHex("#e35102"),
                                //	Title = "Así Compras",
                                //};
                                //intnav = det.Navigation;
                                //MainPage = det;
                                MainPage = new MainPage();
                            }
                            else                               //cerre sesion y vuelvo a entrar
                            {
                                var det = new NavigationPage(new Login(this))
                                {
                                    BarTextColor       = Color.White,
                                    BarBackgroundColor = Color.FromHex("#e35102"),
                                    Title = "Así compras",
                                };
                                intnav   = det.Navigation;
                                MainPage = det;
                            }
                        }
                        else
                        {
                            MainPage = new Tuto(this);
                        }
                    }
                    else
                    {
                        MainPage = new MainPage();                         //ShowMainPage();
                    }
                }
            }
        }