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