示例#1
0
        private async void ObtenerClientes()
        {
            try
            {
                RespuestaServerClientes response = await interfazClientes.GetServerClientes();

                Clientes = response.ClientesLista;
                var databasepath = System.IO.Path.Combine(System.Environment.GetFolderPath(System.Environment.SpecialFolder.Personal), "kigest_sltosAriel.db");
                var db           = new SQLiteConnection(databasepath);
                var Mensaje      = FindViewById <TextView>(Resource.Id.txtClieServerMensaje);
                int contadorADD  = 0;
                int contadorMOD  = 0;

                foreach (ClienteServer cliente in Clientes)
                {
                    IEnumerable <ConsultasTablas> resultado = BuscarCliente(db, cliente.idclientes);
                    if (resultado.Count() == 0 && cliente.vendedor == VariablesGlobales.Idvendedor)
                    {
                        TablaClientes ClieLocal = new TablaClientes()
                        {
                            codclieMain    = cliente.idclientes,
                            nomapell_razon = cliente.nomapell_razon,
                            domicilio      = cliente.direccion,
                            localidad      = cliente.localidad,
                            iva_tipo       = cliente.iva_tipo,
                            cuit           = cliente.cuit,
                            telefono       = cliente.telefono,
                            contacto       = cliente.contacto,
                            celular        = cliente.celular,
                            email          = cliente.email,
                            observaciones  = cliente.observaciones,
                            lista_precios  = cliente.lista_precios,
                            vendedor       = cliente.vendedor
                        };
                        contadorADD++;
                        dbUser.InsterarCliente(ClieLocal);
                        ClientesString.Add(" (!) " + cliente.ToString());
                    }
                    else if (resultado.Count() != 0)
                    {
                        TablaClientes ClieLocal = new TablaClientes()
                        {
                            codclieMain    = cliente.idclientes,
                            nomapell_razon = cliente.nomapell_razon,
                            domicilio      = cliente.direccion,
                            localidad      = cliente.localidad,
                            iva_tipo       = cliente.iva_tipo,
                            cuit           = cliente.cuit,
                            telefono       = cliente.telefono,
                            contacto       = cliente.contacto,
                            celular        = cliente.celular,
                            email          = cliente.email,
                            observaciones  = cliente.observaciones,
                            lista_precios  = cliente.lista_precios,
                            vendedor       = cliente.vendedor
                        };
                        contadorMOD++;
                        dbUser.ActualizarCliente(ClieLocal);
                        ClientesString.Add(" (*) " + cliente.ToString());
                    }


                    Mensaje.Text = "Se han agregado(!) " + contadorADD + " y se han modificado(*) " + contadorMOD + " de " + ClientesString.Count() + " clientes obtenidos del servidor";
                    var btnSincronizar = FindViewById <Button>(Resource.Id.btnClieServerSincro);
                    btnSincronizar.Text    = "Sincronizar clientes";
                    btnSincronizar.Enabled = true;
                }
                ListAdapter       = new ArrayAdapter <string>(this, Android.Resource.Layout.SimpleListItem1, ClientesString);
                listaClie.Adapter = ListAdapter;
            }
            catch (Exception ex)
            {
                Toast.MakeText(this, ex.Message + "-" + ex.StackTrace, ToastLength.Long).Show();
            }
        }