async void ExecuteGuardarCamino() { Console.WriteLine("DEBUG - VerEtapasVM - ExecuteGuardarCamino()"); string listadoEtapas = miCamino.DameStringListaEtapas(); string listadoBifurcaciones = miCamino.DameCadenaBifurcaciones(); if (miCamino.miNombreCamino == null || miCamino.miNombreCamino.Trim().Length == 0) { Device.BeginInvokeOnMainThread(() => { App.Current.MainPage.DisplayAlert("Error", "Hay que dar un nombre a tu camino", "OK"); }); return; } Console.WriteLine("DEBUG - VerEtapasVM - ExecuteGuardarCamino() miNombreCamino:{0}", miCamino.miNombreCamino == null ? "NULL" : miCamino.miNombreCamino); Console.WriteLine("DEBUG - VerEtapasVM - ExecuteGuardarCamino() descripcion:{0}", miCamino.descripcion == null ? "NULL" : miCamino.descripcion); Console.WriteLine("DEBUG - VerEtapasVM - ExecuteGuardarCamino() caminoBase:{0}", miCamino.caminoActual == null ? "NULL" : miCamino.caminoActual); Console.WriteLine("DEBUG - VerEtapasVM - ExecuteGuardarCamino() fechaInicio:{0}", miCamino.fechaInicio == null ? "NULL" : miCamino.fechaInicio); Console.WriteLine("DEBUG - VerEtapasVM - ExecuteGuardarCamino() bifurcaciones:{0}", listadoBifurcaciones); Console.WriteLine("DEBUG - VerEtapasVM - ExecuteGuardarCamino() etapas:{0}", listadoEtapas); TablaMisCaminos tmc = new TablaMisCaminos(miCamino.miNombreCamino, miCamino.descripcion, miCamino.caminoActual, miCamino.fechaInicio, listadoBifurcaciones, listadoEtapas); await App.Database.SaveMiCaminoAsync(tmc); }
void ExecuteItemTappedCommand(TablaMisCaminos camino) { Console.WriteLine("DEBUG - MisCaminosVM - ExecuteItemTappedCommand({0}) entrar...", camino); var navigationParams = new NavigationParameters(); navigationParams.Add("camino", camino); _navigationService.NavigateAsync("EntryCAMINOS", navigationParams); }
async public Task <int> DeleteMiCaminoAsync(int id) { Console.WriteLine("DEBUG - Database - DeleteMiCaminoAsync id:{0}", id); // Buscar primero el registro con ese id y luego borrarlo: TablaMisCaminos reg = await _database.Table <TablaMisCaminos>().Where(i => i.id == id).FirstOrDefaultAsync(); if (reg == null) { Console.WriteLine("DEBUG - Database - DeleteMiCaminoAsync NO encontrado el registro con ese id <{0}> en TablaMisCaminos", id); return(0); } Console.WriteLine("DEBUG - Database - DeleteMiCaminoAsync Despues de buscar el id: {0}", id); return(await _database.DeleteAsync(reg)); }
public void OnNavigatedTo(INavigationParameters parameters) { //throw new NotImplementedException(); var navigationMode = parameters.GetNavigationMode(); Console.WriteLine("DEBUG2 - VerEtapasVM - OnNavigatedTo"); if (navigationMode == NavigationMode.New) // Esto solamente lo hacemos si llegamos de nuevas (no al volver hacia atrás): { miCamino = new MiCamino(); TablaMisCaminos tmc = parameters.GetValue <TablaMisCaminos>("tmc"); if (tmc == null) { Console.WriteLine("DEBUG2 - VerEtapasVM - OnNavigatedTo tmc == null retornamos"); return; } miTMC = tmc; Console.WriteLine("DEBUG2 - VerEtapasVM - OnNavigatedTo: Venimos de MisCaminos con tmc etapas <{0}>", tmc.etapas); Global.nombreFicheroDeMiCamino = tmc.miNombreCamino; miCamino.Init(tmc); } // Comprobamos de todas formas si miCamino es null: if (miCamino == null) { Console.WriteLine("ERROR - VerEtapasVM - OnNavigatedTo: miCamino == null !!!"); return; } if (navigationMode == NavigationMode.Back) { // Si regresamos de visualizar los nodos de esa etapa, en el caso de que se hayan añadido nuevas etapas y se hayan guardado, // entonces la variable "Global.subetapasModificadas" contendrá el listado de etapas: if (Global.subetapasModificadas != null) { miCamino.etapas = Global.subetapasModificadas; Global.subetapasModificadas = null; } } miCamino.MasajearLista(); listaEtapas = miCamino.DameListaEtapas(); }
async void ExecuteVerEtapasMiCamino(string id) { Console.WriteLine("DEBUG - MisCaminosVM - ExecuteVerEtapasMiCamino id:{0}", id); var navigationParams = new NavigationParameters(); TablaMisCaminos tmc = await App.Database.GetMisCaminosAsync(int.Parse(id)); if (tmc == null) { Console.WriteLine("DEBUG3 - MisCaminosVM - ExecuteVerEtapasMiCamino NO HAY REGISTROS. retornamos"); Global.nombreFicheroDeMiCamino = null; return; } navigationParams.Add("tmc", tmc); await _navigationService.NavigateAsync("VerEtapas", navigationParams); }
async void ExecuteAmpliarMiCamino(string id) { Console.WriteLine("DEBUG - MisCaminosVM - ExecuteAmpliarMiCamino id:{0}", id); var navigationParams = new NavigationParameters(); TablaMisCaminos tmc = await App.Database.GetMisCaminosAsync(int.Parse(id)); if (tmc == null) { Console.WriteLine("DEBUG3 - MisCaminosVM - ExecuteAmpliarMiCamino NO HAY REGISTROS. retornamos"); return; } navigationParams.Add("option", 2); navigationParams.Add("tmc", tmc); #pragma warning disable CS4014 // Como esta llamada no es 'awaited', la ejecución del método actual continuará antes de que se complete la llamada. Puede aplicar el operador 'await' al resultado de la llamada. _navigationService.NavigateAsync("VerCamino", navigationParams); #pragma warning restore CS4014 // Como esta llamada no es 'awaited', la ejecución del método actual continuará antes de que se complete la llamada. Puede aplicar el operador 'await' al resultado de la llamada. }
async public Task <int> SaveMiCaminoAsync(TablaMisCaminos note) { if (note.id != 0) { return(await _database.UpdateAsync(note)); } else { //Vamos a ver si ya hay un camino con ese nombre: TablaMisCaminos reg = await _database.Table <TablaMisCaminos>().Where(i => i.miNombreCamino == note.miNombreCamino).FirstOrDefaultAsync(); if (reg != null) { Console.WriteLine("DEBUG - Database - SaveMiCaminoAsync UPDATE del registro con nombre <{0}> en TablaMisCaminos", note.miNombreCamino); note.id = reg.id; // recordemos que id era 0 al entrar en SaveMiCaminoAsync(). Igual hay que avisar de que se va a sobreescribir ?? _xx_PENDIENTE return(await _database.UpdateAsync(note)); } return(await _database.InsertAsync(note)); } }
public Task <int> DeleteMiCaminoAsync(TablaMisCaminos note) { return(_database.DeleteAsync(note)); }
public void OnNavigatedTo(INavigationParameters parameters) { //throw new NotImplementedException(); int option; var navigationMode = parameters.GetNavigationMode(); if (miCamino != null) { Console.WriteLine("DEBUG2 - VerCaminoVM - OnNavigatedTo(caminoActual:{0}) navigationMode:{1} caminoAnterior:{2}", miCamino.caminoActual == null ? "NULL" : miCamino.caminoActual, navigationMode, miCamino.caminoAnterior == null ? "NULL" : miCamino.caminoAnterior); } else { Console.WriteLine("DEBUG2 - VerCaminoVM - OnNavigatedTo miCamino es NULL"); miCamino = new MiCamino(); } if (navigationMode == NavigationMode.Back) { Console.WriteLine("DEBUG2 - VerCaminoVM - OnNavigatedTo: Como estamos en BACK, retornamos sin masajear la lista"); return; } option = parameters.GetValue <int>("option"); //string camino = parameters.GetValue<string>("camino"); mostrarCabecera = true; switch (option) { case 1: // Recibimos el nombre de un camino para visualizar todos sus puntos de paso: Console.WriteLine("DEBUG - VerCaminoVM - OnNavigatedTo: option 1"); string camino = parameters.GetValue <string>("camino"); if (camino != null) { miCamino.caminoActual = camino; Console.WriteLine("DEBUG - VerCaminoVM - OnNavigatedTo: Llegamos normalmente, desde el menú CAMINOS camino:{0}", miCamino.caminoActual); listaPuntosDePaso = miCamino.MasajearLista(); } else { Console.WriteLine("DEBUG3 - VerCaminoVM - OnNavigatedTo: Error en las opciones pasadas, falta el nombre del camino"); return; } break; case 2: // Recibimos un tmc que es un camino configurado por el usuario: Console.WriteLine("DEBUG - VerCaminoVM - OnNavigatedTo: option 2"); TablaMisCaminos tmc = parameters.GetValue <TablaMisCaminos>("tmc"); if (tmc != null) { Console.WriteLine("DEBUG - VerCaminoVM - OnNavigatedTo: Venimos de MisCaminos con tmc"); miCamino.Init(tmc); Console.WriteLine("DEBUG - VerCaminoVM - OnNavigatedTo: tmc.bifurcaciones:{0}", tmc.bifurcaciones); listaPuntosDePaso = miCamino.MasajearLista(); } else { Console.WriteLine("DEBUG3 - VerCaminoVM - OnNavigatedTo: Error en las opciones pasadas, falta el tmc"); return; } break; case 3: // Sólo se quieren mostrar los puntos de paso de la etapa que nos dicen: Console.WriteLine("DEBUG - VerCaminoVM - OnNavigatedTo: option 3"); mostrarCabecera = false; MiCamino miCam = parameters.GetValue <MiCamino>("miCamino"); if (miCam != null) { miCam.caminoAnterior = null; // Para forzar que al llamar a RellenarLista se recree el miLista. //string primerNodoEtapa = null, ultimoNodoEtapa = null; primerNodoEtapa = parameters.GetValue <string>("primerNodoEtapa"); ultimoNodoEtapa = parameters.GetValue <string>("ultimoNodoEtapa"); Console.WriteLine("DEBUG - VerCaminoVM - OnNavigatedTo: Venimos de VerEtapas con miCamino primerNodoEtapa <{0}> ultimoNodoEtapa <{1}>", primerNodoEtapa == null ? "NULL" : primerNodoEtapa, ultimoNodoEtapa == null ? "NULL" : ultimoNodoEtapa); //miCamino.Init(tmc); miCamino = miCam; //miCamino.backupEtapas = miCamino.etapas; //_xx_ETAPAS: Guardamos las etapas del camino completo porque al llamar a MasajearLista se va a recrear la cadena de etapas con los nodos de esa etapa !!! Console.WriteLine("DEBUG - VerCaminoVM - OnNavigatedTo: miCamino.bifurcaciones:{0}", miCamino.DameCadenaBifurcaciones()); listaPuntosDePaso = miCamino.MasajearLista(null, primerNodoEtapa, ultimoNodoEtapa); } else { Console.WriteLine("ERROR - VerCaminoVM - OnNavigatedTo: Error en las opciones pasadas, falta el miCamino"); return; } break; default: Console.WriteLine("DEBUG3 - VerCaminoVM - OnNavigatedTo: OPCIÓN NO CONTEMPLADA"); break; } }