/// <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(); } }); }
/// <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; } }
/// <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()); }); }
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); } }
/// <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); } }
/// <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; }); }); }
/// <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(); }