//maneja la seleccion de un medidor del listado para crear una nueva lectura private async void listView_ItemSelected(object sender, SelectedItemChangedEventArgs e) { try { CtrlMedidor Manager = new CtrlMedidor(); //declarando una variable de la clase control medidor e intanciandola Object ObjFila = e.SelectedItem; //asignar el objeto seleccionado a la variable de tipo object var json = JsonConvert.SerializeObject(ObjFila); //declaramos una variable json, y serializo el objeto fila ClsMedidor ObjMedidor = JsonConvert.DeserializeObject <ClsMedidor>(json); //transformamos ese json con jsonConver a un cls medidor var consulta = await Manager.Consultar(ObjMedidor.Id); //en esta variable vamos a cargar lo que me trae del metodo consultar de la clase medidor por id ObjMedidor = consulta.First(); //aqui tenemos todos los datos cargados de mi clase medidor CtrlLectura ObjCtrlLectura = new CtrlLectura(); //declamos una varible de tipo ctrllectura e intanciamos para usar sus metdos var LecturaMes = await ObjCtrlLectura.GetLecturaMedidorAsync(DateTime.Today, ObjMedidor.Id); if (LecturaMes == null) { await((NavigationPage)this.Parent).PushAsync(new PagIngresoLectura(ObjMedidor, true)); //mostrar el formulario Ingresos de lecturas con los datos cargados para modificar o eliminar } else { var resp = await DisplayAlert("Mensaje", "Desea Modificar", "si", "no"); if (resp) { await((NavigationPage)this.Parent).PushAsync(new PagIngresoLectura(LecturaMes, "edit")); //mostrar la vista para modificar una lectura con los datos cargados } } } catch (Exception ex) { await DisplayAlert("Mensaje", ex.Message, "ok"); } }