//maneja el evento item selected de la lista de objetos private async void lstMedidores_ItemSelected(object sender, SelectedItemChangedEventArgs e) { ClsMedidor Obj = e.SelectedItem as ClsMedidor; //asignar el objeto seleccionado a la variable obj CtrlPersona ObjCtrl = new CtrlPersona(); //nueva instancia del controlador var ConsCtrl = await ObjCtrl.ConsultarId(Obj.IdPersona); //consulta la persona por id Obj.ObjPersona = ConsCtrl.First(); //asigna persona al objeto medidor await((NavigationPage)this.Parent).PushAsync(new PagAdminMedidor(Obj, false)); //mostrar la vista adminmedidor con los datos cargados para modificar o eliminar }
//manejador evento clic del botón entrar private async void ButEntrar_Clicked(object sender, EventArgs e) { CtrlUsuario ObjCtrlUsuario = new CtrlUsuario();//instancia de controlador try { if (!string.IsNullOrWhiteSpace(TxtEmail.Text)) //validar email no nulo { if (!string.IsNullOrWhiteSpace(TxtPassword.Text)) //validar password no nulo { if (TxtEmail.TextColor == Color.Green) //validar email con formato correcto { if (TxtPassword.TextColor == Color.Green) //validar password con formato correcto { var ConsUsr = await ObjCtrlUsuario.LoginUsr(TxtEmail.Text, TxtPassword.Text); //invoca al método login del controlador usuario if (ConsUsr.Count() == 1) //si existe un registro que coincide con el email y el password { ClsUsuario ObjUsuario = ConsUsr.First(); //asignar objeto encontrado al objeto local CtrlPersona ObjCtrlPersona = new CtrlPersona(); //instancia de control persona var ConsPersona = await ObjCtrlPersona.ConsultarId(ObjUsuario.IdPersona); //consulta de persona por id if (ConsPersona.Count() == 1) //si se encontraron los datos de la persona { ObjUsuario.ObjPersona = ConsPersona.First(); //asignar objeto encontrado a variable persona de objeto usuario CtrlPerfil ObjCtrlPerfil = new CtrlPerfil(); //instancia de control perfil var ConsPerfil = await ObjCtrlPerfil.Consultar(ObjUsuario.IdPerfil); //consulta de perfil según id if (ConsPerfil.Count() == 1) //si los datos del perfil han sido encontrados { await DisplayAlert("Mensaje", "Bienvenido", "ok"); //mensaje de bienvenida ObjUsuario.ObjPerfil = ConsPerfil.First(); //asignar objeto encontrado a campo de objeto usuario App.Current.Properties["name"] = ObjUsuario.ObjPersona.Nombres; //guardar en propiedades de la aplicación el nombre del usuario App.Current.Properties["IsLoggedIn"] = true; //guardar en propiedades de la aplicación el estado como verdadero App.Current.Properties["ObjUsuario"] = ObjUsuario; //guardar el objeto usuario en propiedades de la aplicación Ilm.ShowMainPage(); } } } else { await DisplayAlert("Mensaje", "Datos no encontrados, vuelva a intentar", "ok"); } } else { await DisplayAlert("Mensaje", "Password con formato incorrecto", "ok"); } } else { await DisplayAlert("Mensaje", "Email con formato incorrecto", "ok"); } } else { await DisplayAlert("Mensaje", "Debe ingresar el password", "ok"); } } else { await DisplayAlert("Mensaje", "Debe ingresar el email", "ok"); } }//control de errores catch (Exception x) { await DisplayAlert("Mensaje", x.Message, "ok"); } }
protected override async void OnAppearing()//se ejecuta cuando se muestra esta interfaz { base.OnAppearing(); this.ObjUsuario = App.Current.Properties["ObjUsuario"] as ClsUsuario;//recuperar objeto guardado en propieades de la aplicación ObjLectura.User_id = ObjUsuario.Id; try { manager = new CtrlLectura(); //instancia de clase control lectura if (nuevo) //cuando se está creando una lectura nueva { this.ObjCtrlPersona = new CtrlPersona(); //instancia la variable en objeto de la clase control persona (abonado) var ListPersona = await ObjCtrlPersona.ConsultarId(this.ObjMedidor.Persona_id); if (ListPersona.Count() > 0) { this.ObjPersona = ListPersona.First(); LblNombres.Text = this.ObjPersona.Nombre + " " + this.ObjPersona.Apellido; txtCedula.Text = this.ObjPersona.Cedula; } var LecturaAnterior = await manager.ConsultarAnterior(this.ObjMedidor.Id); if (LecturaAnterior.Count == 1) { ClsLectura ObjLecAnterior = LecturaAnterior.First(); TxtAnterior.Text = ObjLecAnterior.Actual.ToString(); ObjLectura.Anterior = ObjLecAnterior.Actual; } } else { if (opc == "ver") { //cuando se está consultando una lectura ButGuardar.IsVisible = false; } this.ObjCtrlPersona = new CtrlPersona(); CtrlMedidor ObjCtrlMedidor = new CtrlMedidor(); var ListMedidor = await ObjCtrlMedidor.Consultar(this.ObjLectura.Medidor_id); if (ListMedidor.Count() == 1) { this.ObjMedidor = ListMedidor.First(); var ListPersona = await ObjCtrlPersona.ConsultarId(this.ObjMedidor.Persona_id); if (ListPersona.Count() == 1) { this.ObjPersona = ListPersona.First(); LblNombres.Text = this.ObjPersona.Nombre + " " + this.ObjPersona.Apellido; txtCedula.Text = this.ObjPersona.Cedula; txtConsumo.Text = this.ObjLectura.Consumo.ToString(); TxtObservacion.Text = this.ObjLectura.Observacion; TxtAnterior.Text = ObjLectura.Anterior.ToString(); lblCodigo.Text = ObjMedidor.Codigo.ToString(); lblNumero.Text = ObjMedidor.Numero.ToString(); if (ObjLectura.Image != null) { Imagen.Source = ObjLectura.Image; } } } } recuperarpolitica(); } catch (Exception ex) { await DisplayAlert("Mensaje", ex.Message, "ok"); } }