Example #1
0
        /// <summary>
        /// Obtiene datos cliente.
        /// </summary>
        public void GetClienteData()
        {
            // Cliente
            Cliente c;

            // Obtengo datos servidor
            RestManager.Connection().GetData((int)URIS.GetCliente, new string[] { Cliente.ID_Cliente.ToString() }, null, (arg) =>
            {
                // Depuracion
                Console.WriteLine(arg ?? "null");

                // Compruebo datos
                if (!string.IsNullOrWhiteSpace(arg))
                {
                    // Deserializo JSON
                    NSDictionary data = (NSDictionary)NSJsonSerialization.Deserialize(arg, 0, out NSError e);

                    // Cargo datos
                    c       = new Cliente(data);
                    Cliente = c;
                }

                // Continuo
                lock (l)
                {
                    Monitor.Pulse(l);
                }
            });

            // Espero a obtener datos
            lock (l)
            {
                Monitor.Wait(l);
            }
        }
        /// <summary>
        /// Touch boton login.
        /// </summary>
        /// <param name="sender"></param>
        partial void Touch_BtnLogin(ButtonLoad sender)
        {
            // Desactivo boton
            btnLogin.Enabled = false;

            // Muestro carga
            sender.ShowLoading();

            // Conexion con el servidor
            RestManager.Connection().GetData((int)URIS.Login, new string[] { txtUser.Text.Trim(), txtPass.Text.Trim() }, null, (arg) =>
            {
                // Compruebo datos
                if (!string.IsNullOrWhiteSpace(arg)) // Login correcto
                {
                    // Compruebo id
                    if (!arg.Equals("-1"))
                    {
                        LoginOk(arg);
                    }
                    else
                    {
                        LoginError();
                    }
                }
                else // Login incorrecto
                {
                    LoginError();
                }
            });
        }
Example #3
0
        /// <summary>
        /// Obtiene datos del pais.
        /// </summary>
        public void GetDataPais()
        {
            // Pais
            Pais p;

            // Obtengo pais
            p = SQLiteManager.Connection().GetProvincia(ID_Pais);

            // Compruebo datos
            if (p == null)
            {
                // Obtengo pais del servidor
                RestManager.Connection().GetData((int)URIS.GetPais, new string[] { ID_Pais.ToString() }, null, (arg) =>
                {
                    // Compruebo datos
                    if (!string.IsNullOrWhiteSpace(arg))
                    {
                        // Deserializo JSON
                        NSDictionary data = (NSDictionary)NSJsonSerialization.Deserialize(arg, 0, out NSError e);

                        // Leo datos
                        foreach (NSString key in data.Keys)
                        {
                            switch (key.ToString().ToLower())
                            {
                            case "id_pais":
                                ID_Pais = (int)(NSNumber)data.ValueForKey(key);
                                break;

                            case "nombre":
                                Nombre_Pais = data.ValueForKey(key).ToString();
                                break;
                            }
                        }

                        // Guardo en SQLite
                        SQLiteManager.Connection().SetPais(this);
                    }

                    // Continuo
                    lock (l)
                    {
                        Monitor.Pulse(l);
                    }
                });

                // Espero
                lock (l)
                {
                    Monitor.Wait(l);
                }
            }
            else
            {
                // Cargo nombre
                Nombre_Pais = p.Nombre_Pais;
            }
        }
Example #4
0
        /// <summary>
        /// Obtengo direccion cliente.
        /// </summary>
        public void GetDireccionData()
        {
            // Obtengo direccion de SQLite
            Direccion d = null;

            // Compruebo datos
            if (d == null)
            {
                // Obtengo direccion del servidor
                RestManager.Connection().GetData((int)URIS.GetDireccionCliente, new string[] { ID_Cliente.ToString() }, null, (arg) =>
                {
                    // Compruebo datos
                    if (!string.IsNullOrWhiteSpace(arg))
                    {
                        // Deserializo JSON
                        NSDictionary data = (NSDictionary)NSJsonSerialization.Deserialize(arg, 0, out NSError e);

                        // Cargo datos
                        d = Direccion = new Direccion(data);

                        // Guardo en SQLite
                        SQLiteManager.Connection().SetDireccion(d);
                    }

                    // Continuo
                    lock (l)
                    {
                        Monitor.Pulse(l);
                    }
                });

                // Espero a obtener datos
                lock (l)
                {
                    Monitor.Wait(l);
                }
            }

            // Obtengo datos ciudad
            d.GetDataCiudad();

            // Cargo direccion
            Direccion = d;
        }
        /// <summary>
        /// Login correcto.
        /// </summary>
        /// <param name="id">ID usuario.</param>
        private void LoginOk(string id)
        {
            InvokeOnMainThread(() =>
            {
                // Guardo login data
                UserDataDefaults.SetLoginData(txtUser.Text.Trim(), txtPass.Text.Trim());

                // Guardo ID usuario
                UserDataDefaults.SetUserID(id);

                // Inicializo preferencias
                UserDataDefaults.SetPreferences(0, 0, 0);

                // Obtiene token
                RestManager.Connection().GetTokenFromServer();

                // Login OK
                OnLoginSuccess(true, new EventArgs());
            });
        }
Example #6
0
        public override void ViewDidLoad()
        {
            base.ViewDidLoad();

            // Obtengo nombre usuario
            RestManager.Connection().GetData((int)URIS.UserName, new string[] { UserDataDefaults.GetUserID().ToString() }, null, (arg) =>
            {
                // Compruebo datos
                if (!string.IsNullOrWhiteSpace(arg))
                {
                    InvokeOnMainThread(() =>
                    {
                        // Actualizo nombre
                        lblName.Text = arg;
                    });
                }
            });

            // Version
            lblVersion.Text = (NSString)NSBundle.MainBundle.InfoDictionary["CFBundleShortVersionString"];
        }
        /// <summary>
        /// Touch boton completada.
        /// </summary>
        /// <param name="sender"></param>
        partial void Touch_Completar(UIButton sender)
        {
            // Actualizo boton
            Completar();

            // Completo
            RestManager.Connection().GetData((int)URIS.CompletaTarea, new string[] { t.ID_Tarea.ToString() }, null, (arg) =>
            {
                // Continuo
                lock (l)
                {
                    Monitor.Pulse(l);
                }
            });

            // Espero conexion
            lock (l)
            {
                Monitor.Wait(l);
            }
        }
Example #8
0
        /// <summary>
        /// Boton añadir.
        /// </summary>
        /// <param name="sender"></param>
        partial void Add_Touch(UIBarButtonItem sender)
        {
            // Compruebo datos
            if (CheckData())
            {
                // Desactivo tabla
                tabla.UserInteractionEnabled = false;

                // Desactivo botones
                btnAdd.Enabled    = false;
                btnCancel.Enabled = false;

                // Activo carga
                InitCarga();

                // Guardo direccion
                RestManager.Connection().GetData((int)URIS.AddLugar, null, t.Cliente.Direccion.GetJSON(), (arg) =>
                {
                    // Compruebo datos
                    if (!string.IsNullOrWhiteSpace(arg))
                    {
                        // Guardo ID direccion
                        t.Cliente.Direccion.ID_Direccion = int.Parse(arg);
                    }

                    // Continuo
                    lock (l)
                    {
                        Monitor.Pulse(l);
                    }
                });

                // Espero a obtener datos direccion
                lock (l)
                {
                    Monitor.Wait(l);
                }

                // Guardo cliente
                RestManager.Connection().GetData((int)URIS.AddCliente, null, t.Cliente.GetJSON(), (arg) =>
                {
                    // Depuracion
                    Console.WriteLine("ID cliente -> " + arg ?? "null");

                    // Compruebo datos
                    if (!string.IsNullOrWhiteSpace(arg))
                    {
                        // Guardo ID cliente
                        t.Cliente.ID_Cliente = int.Parse(arg);
                    }

                    // Continuo
                    lock (l)
                    {
                        Monitor.Pulse(l);
                    }
                });

                // Espero a obtener datos cliente
                lock (l)
                {
                    Monitor.Wait(l);
                }

                // Guardo tarea
                RestManager.Connection().GetData((int)URIS.AddTarea, null, t.GetJSON(), (arg) =>
                {
                    // Depuracion
                    Console.WriteLine("Tarea guardada");

                    // Continuo
                    lock (l)
                    {
                        Monitor.Pulse(l);
                    }
                });

                // Espero a obtener datos cliente
                lock (l)
                {
                    Monitor.Wait(l);
                }

                // Creo alerta
                UIAlertController alert = UIAlertController.Create("Tarea guardada", "La tarea ha sido guardada con exito!", UIAlertControllerStyle.Alert);

                // Añado accion
                alert.AddAction(UIAlertAction.Create("OK", UIAlertActionStyle.Default, (arg) =>
                {
                    // Vuelve a la view anterior
                    DismissModalViewController(true);
                }));

                // Muestro alerta
                PresentViewController(alert, true, null);
            }
            else
            {
                // Creo alerta
                UIAlertController alert = UIAlertController.Create("Error", "Rellene todos los datos para guardar la tarea", UIAlertControllerStyle.Alert);

                // Añado accion
                alert.AddAction(UIAlertAction.Create("OK", UIAlertActionStyle.Default, null));

                // Muestro alerta
                PresentViewController(alert, true, null);
            }
        }
Example #9
0
        /// <summary>
        /// Obtengo tareas.
        /// </summary>
        private void ObtengoTareas()
        {
            // Inicio carga de datos
            InitCarga();

            // Lista tareas
            tareas = null;

            // Elimino tareas SQLite
            SQLiteManager.Connection().DeleteTareas();

            // Obtengo datos servidor
            RestManager.Connection().GetData((int)URIS.TareasNuevas, new string[] { "1972-01-01 00:00:01" }, null, (arg) =>
            {
                // Compruebo datos
                if (!string.IsNullOrWhiteSpace(arg))
                {
                    // JSON
                    if (!arg.Equals("[]"))
                    {
                        // Leo JSON
                        tareas = JSONManager.DeserializeTareas(arg);

                        // Recorro tareas
                        foreach (Tarea t in tareas)
                        {
                            // Obtengo datos
                            InvokeOnMainThread(() =>
                            {
                                // Datos direccion
                                t.GetDireccionData();

                                // Guardo tarea
                                SQLiteManager.Connection().SetTarea(t);
                            });
                        }
                    }
                }

                InvokeOnMainThread(() =>
                {
                    // Obtengo tareas SQLite
                    tareas = SQLiteManager.Connection().GetTareas();

                    // Obtengo datos
                    if (tareas != null)
                    {
                        // Recorro tareas
                        foreach (Tarea t in tareas)
                        {
                            // Obtiene direccion
                            t.GetDireccionData();

                            // Obtiene usuario
                            t.GetUserCompletada();
                        }
                    }

                    // Cargo tabla
                    table.Source = new Lista_Tareas_TableSource(this);
                    table.ReloadData();

                    // Compruebo si no hay tareas
                    if (tareas == null)
                    {
                        // Creo alerta
                        UIAlertController alert = UIAlertController.Create("Sin datos", "No existen tareas", UIAlertControllerStyle.Alert);

                        // Añado accion
                        alert.AddAction(UIAlertAction.Create("OK", UIAlertActionStyle.Default, null));

                        // Muestro alerta
                        PresentViewController(alert, true, null);
                    }

                    // Detengo titulo carga
                    FlagCarga = false;
                });
            });
        }
Example #10
0
        /// <summary>
        /// Obtengo ciudad de SQLite o del servidor.
        /// </summary>
        public void GetDataCiudad()
        {
            // Ciudad
            Ciudad c;

            // Obtengo ciudad
            c = SQLiteManager.Connection().GetCiudad(ID_Ciudad);

            // Compruebo datos
            if (c == null)
            {
                // Obtengo ciudad del servidor
                RestManager.Connection().GetData((int)URIS.GetCiudad, new string[] { ID_Ciudad.ToString() }, null, (arg) =>
                {
                    // Compruebo datos
                    if (!string.IsNullOrWhiteSpace(arg))
                    {
                        // Deserializo JSON
                        NSDictionary data = (NSDictionary)NSJsonSerialization.Deserialize(arg, 0, out NSError e);

                        // Leo datos
                        foreach (NSString key in data.Keys)
                        {
                            switch (key.ToString().ToLower())
                            {
                            case "id_ciudad":
                                ID_Ciudad = (int)(NSNumber)data.ValueForKey(key);
                                break;

                            case "id_provincia":
                                ID_Provincia = (int)(NSNumber)data.ValueForKey(key);
                                break;

                            case "nombre":
                                Nombre_Ciudad = data.ValueForKey(key).ToString();
                                break;
                            }
                        }

                        // Guardo en SQLite
                        SQLiteManager.Connection().SetCiudad(this);
                    }

                    // Continuo
                    lock (l)
                    {
                        Monitor.Pulse(l);
                    }
                });

                // Espero
                lock (l)
                {
                    Monitor.Wait(l);
                }
            }
            else
            {
                // Cargo nombre
                Nombre_Ciudad = c.Nombre_Ciudad;

                // Cargo ID provincia
                ID_Provincia = c.ID_Provincia;
            }

            // Obtengo datos provincia
            GetDataProvincia();
        }