예제 #1
0
        //Descarga de Pirineos las siguientes tablas al respectivo técnico con su usuario y contraseña.
        public async void SincronizarDatos(int persona, string contraseña)
        {
            Conecta Conexion = new Conecta();

            try
            {
                //Lista las Entidades del Modelo
                List <string> Entidad = ((Entidades[])Enum.GetValues(typeof(Entidades))).Select(c => c.ToString()).ToList();

                var    list = datos.GetListAticulos();
                string ruta = null;

                foreach (var Enti in Entidad)
                {
                    Variables.Entidad = Enti;

                    ruta = "api/Descarga/" + Enti;
                    if (Variables.ErrorTransDatos != 1)
                    {
                        if (list.Count() == 0)
                        {
                            switch (Enti)
                            {
                            case "ListarGenerales":
                                await Task.Run(async() => { await Conexion.GetDatosAsync <Generales>(ruta); });

                                break;

                            case "ListarFormaPago":
                                await Task.Run(async() => { await Conexion.GetDatosAsync <Forma_Pago>(ruta); });

                                break;

                            case "ListarPersonal":
                                await Task.Run(async() => { await Conexion.GetDatosAsync <Personal>(ruta); });

                                break;

                            case "ListarProvincias":
                                await Task.Run(async() => { await Conexion.GetDatosAsync <Provincias>(ruta); });

                                break;

                            case "ListarPaises":
                                await Task.Run(async() => { await Conexion.GetDatosAsync <Pais>(ruta); });

                                break;

                            case "ListarIva":
                                await Task.Run(async() => { await Conexion.GetDatosAsync <Iva>(ruta); });

                                break;

                            case "ListarRegimenIva":
                                await Task.Run(async() => { await Conexion.GetDatosAsync <Regimen_IVA>(ruta); });

                                break;

                            case "ListarValoresSat":
                                await Task.Run(async() => { await Conexion.GetDatosAsync <Valores_SAT>(ruta); });

                                break;

                            case "ListarArticulos":
                                await Task.Run(async() => { await Conexion.GetDatosAsync <Articulos>(ruta); });

                                break;

                            case "ListarServicios":
                                await Task.Run(async() => { await Conexion.GetDatosAsync <Servicios>(ruta); });

                                break;

                            case "ListarClientes":
                                await Task.Run(async() => { await Conexion.PostDatosAsync <Cliente>(persona, contraseña, ruta); });

                                break;

                            case "ListarDireccionCliente":
                                await Task.Run(async() => { await Conexion.PostDatosAsync <Direccion_Cliente>(persona, contraseña, ruta); });

                                break;

                            case "ListarClienteMaquina":
                                await Task.Run(async() => { await Conexion.PostDatosAsync <Cliente_Maquina>(persona, contraseña, ruta); });

                                break;

                            case "ListarSatEquipo":
                                await Task.Run(async() => { await Conexion.GetDatosAsync <SAT_Equipo>(ruta); });

                                break;

                            case "ListarMaquinas":
                                await Task.Run(async() => { await Conexion.GetDatosAsync <Maquinas>(ruta); });

                                break;

                            case "ListarSat":
                                await Task.Run(async() => { await Conexion.PostDatosAsync <SAT>(persona, contraseña, ruta); });

                                break;

                            case "ListarSatLineas":
                                await Task.Run(async() => { await Conexion.PostDatosAsync <SAT_Lineas>(persona, contraseña, ruta); });

                                break;

                            case "UpdateRecibirLineas":
                                await Task.Run(async() => { await Conexion.PostDatosUpdateAsync <SAT>(ruta); });

                                break;
                            }
                        }
                        else
                        {
                            switch (Enti)
                            {
                            case "ListarSat":
                                await Task.Run(async() => { await Conexion.PostDatosAsync <SAT>(persona, contraseña, ruta); });

                                break;

                            case "ListarSatLineas":
                                await Task.Run(async() => { await Conexion.PostDatosAsync <SAT_Lineas>(persona, contraseña, ruta); });

                                break;

                            case "ListarSatEquipo":
                                await Task.Run(async() => { await Conexion.GetDatosAsync <SAT_Equipo>(ruta); });

                                break;

                            case "ListarClientes":
                                await Task.Run(async() => { await Conexion.PostDatosAsync <Cliente>(persona, contraseña, ruta); });

                                break;

                            case "ListarClienteMaquina":
                                await Task.Run(async() => { await Conexion.PostDatosAsync <Cliente_Maquina>(persona, contraseña, ruta); });

                                break;

                            case "ListarDireccionCliente":
                                await Task.Run(async() => { await Conexion.PostDatosAsync <Direccion_Cliente>(persona, contraseña, ruta); });

                                break;

                            case "ListarMaquinas":
                                await Task.Run(async() => { await Conexion.GetDatosAsync <Maquinas>(ruta); });

                                break;
                            }
                        }
                    }
                    else
                    {
                        Variables.ErrorTransDatos = 0;
                        await DisplayAlert("Transmisión", "Error en las comunicaciones", "OK");
                    }
                }
                popupLoadingView.IsVisible = false;
                await Navigation.PushModalAsync(new NavigationPage(new Principal_Listado()));
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }