//private void btnPrivacidad_Clicked(object sender, EventArgs e) //{ // _ = App.MostrarPoliticaPrivacidad(); //} async private void btnSincLocal_Clicked(object sender, EventArgs e) { // Sinconizar las notas no sincronizadas de la base local con la remota. if (colLocalNoSinc is null || colLocalNoSinc.Count() == 0) { LabelError.Text = "O no hay base local o no hay notas que sincronizar."; LabelError.IsVisible = true; return; } var total = 0; foreach (var note in colLocalNoSinc) { var nota = new NotaSQL(); // comprobar que la nota local no tenga asignado el ID de la nota remota if (note.idNota != 0) { nota = NotaSQL.Nota(note.idNota); } if (nota.ID == 0) { nota = new NotaSQL { Archivada = note.Archivada, Eliminada = note.Eliminada, Favorita = note.Favorita, Grupo = note.Grupo, Modificada = note.Modificada, Notificar = note.Notificar, Sincronizada = true, Texto = note.Texto, idNota = note.ID }; } NotaSQL.GuardarNota(nota); note.idNota = nota.ID; note.Sincronizada = true; await App.Database.SaveNoteAsync(note); total++; } var plural = total == 1 ? "" : "s"; LabelError.Text = $"Se han sicronizado {total} nota{plural} de la base local en la base remota."; LabelError.BackgroundColor = Color.Green; LabelError.IsVisible = true; MostrarNotasSincronizadas(); }
async void OnSaveButtonClicked(object sender, EventArgs e) { var nota = (NotaSQL)BindingContext; // no guardar notas en blanco if (string.IsNullOrEmpty(nota.Texto)) { await Navigation.PopAsync(); return; } nota.Modificada = DateTime.UtcNow; nota.Archivada = chkArchivada.IsToggled; nota.Favorita = chkFavorita.IsToggled; nota.Eliminada = chkEliminada.IsToggled; nota.Notificar = chkNotificar.IsToggled; nota.Grupo = txtGrupo.Text; // Guardar el último grupo usado App.UltimoGrupo = nota.Grupo; var note = nota.ComoNotaLocal(); if (App.UsarNotasLocal || DatosMostrar == NotasDatosMostrar.Local) { note.ID = nota.ID; await App.Database.SaveNoteAsync(note); } else { NotaSQL.GuardarNota(nota); // Guardar los datos del usuario UsuarioSQL.UsuarioLogin.UltimoAcceso = DateTime.UtcNow; UsuarioSQL.UsuarioLogin.VersionPrograma = $"{App.AppName} {App.AppVersion}"; UsuarioSQL.GuardarUsuario(UsuarioSQL.UsuarioLogin); } // // Por comprobar // // Si la nota no es nueva, sincronizar el contenido // Si la nota es nueva, crear una nota en la otra base de datos if (App.HayConexionInternet()) { // Sincronizar la nota if (App.UsarNotasLocal || DatosMostrar == NotasDatosMostrar.Local) { // Se ha guardado como nota local if (note.idNota != 0) { nota = NotaSQL.Nota(note.idNota); } else { nota = new NotaSQL(); } if (nota.ID == 0) { nota = new NotaSQL { Archivada = note.Archivada, Eliminada = note.Eliminada, Favorita = note.Favorita, Grupo = note.Grupo, Modificada = note.Modificada, Notificar = note.Notificar, Sincronizada = note.Sincronizada, Texto = note.Texto, idNota = note.ID }; } else { nota = note.ComoNotaRemota(); } nota.idNota = note.ID; nota.Sincronizada = true; NotaSQL.GuardarNota(nota); note.idNota = nota.ID; note.Sincronizada = true; await App.Database.SaveNoteAsync(note); } else { // Se ha guardado como nota remota if (nota.idNota != 0) { note = await App.Database.GetNoteAsync(nota.idNota); } else { note = new Nota(); } if (note.ID == 0) { note = new Nota { Archivada = nota.Archivada, Eliminada = nota.Eliminada, Favorita = nota.Favorita, Grupo = nota.Grupo, Modificada = nota.Modificada, Notificar = nota.Notificar, Sincronizada = nota.Sincronizada, Texto = nota.Texto, idNota = nota.ID }; } else { note = nota.ComoNotaLocal(); } note.idNota = nota.ID; note.Sincronizada = true; await App.Database.SaveNoteAsync(note); nota.idNota = note.ID; nota.Sincronizada = true; NotaSQL.GuardarNota(nota); } } await Navigation.PopAsync(); NotasActivas.TituloNotas(); }