private async void btnComenzar_Clicked(object sender, EventArgs e) { if (ValidarEntries()) { try { this.ValidarEquipo(true); GenericDataConfig genericDataConfigRecord; //Llamo al servicio para obtener las preguntas var preguntaService = new PreguntaService(); List <tbPregunta> preguntas = await preguntaService.GetListPregunta(); if (preguntas != null) { //guardo o actualizo preguntas en la bd using (SQLite.SQLiteConnection conexion = new SQLite.SQLiteConnection(App.RutaBD)) { genericDataConfigRecord = conexion.Query <GenericDataConfig>("select * from GenericDataConfig where Codigo = ?", CodigosApp.CodigoPreguntas).FirstOrDefault(); if (genericDataConfigRecord != null) { genericDataConfigRecord.Valor = JsonConvert.SerializeObject(preguntas); genericDataConfigRecord.LastUpdate = DateTime.Now; conexion.Update(genericDataConfigRecord); } else { genericDataConfigRecord = new GenericDataConfig(); genericDataConfigRecord.Valor = JsonConvert.SerializeObject(preguntas); genericDataConfigRecord.LastUpdate = DateTime.Now; genericDataConfigRecord.Codigo = CodigosApp.CodigoPreguntas; conexion.Insert(genericDataConfigRecord); } } } List <tbPregunta> listaPregunta = null; using (SQLite.SQLiteConnection conexion = new SQLiteConnection(App.RutaBD)) { genericDataConfigRecord = conexion.Query <GenericDataConfig>("select * from GenericDataConfig where Codigo = ?", CodigosApp.CodigoPreguntas).FirstOrDefault(); } //Deserealizo el json para obtener la lista de preguntas. if (genericDataConfigRecord != null) { listaPregunta = JsonConvert.DeserializeObject <List <tbPregunta> >(genericDataConfigRecord.Valor); } //Si la lista de preguntas no es nula, entonces avanzo a la pantalla principal if (listaPregunta != null) { //Una vez almacenadas/actualizadas las preguntas, abro la pantalla principal tbPaciente paciente = new tbPaciente(); paciente.pac_dni = Convert.ToInt32(entryDni.Text); paciente.pac_nombre = entryNombre.Text; paciente.pac_apellido = entryApellido.Text; paciente.pac_genero = entryGenero.Text; await Navigation.PushAsync(new Principal(paciente)); } else { await DisplayAlert("Error", "Asegurese de tener internet en el telefono e intente nuevamente.", "Cancelar"); } } catch (Exception ex) { throw ex; } finally { this.ValidarEquipo(false); } } }