/// <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> /// Touch boton desconectar. /// </summary> /// <param name="sender"></param> partial void btnDesconectar_touch(UIButton sender) { // Elimino base de datos SQLiteManager.Connection().Eliminar(); // Elimino datos usuario UserDataDefaults.Eliminar(); // Desconecto (UIApplication.SharedApplication.Delegate as AppDelegate).Desconectar(); }
/// <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> /// Obtiene el nombre de usuario que creo la tarea. /// </summary> public void GetUserCompletada() { // Obtiene ID usuario ID_Usuario = SQLiteManager.Connection().GetUserCompletada(ID_Tarea); }
/// <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(); }