ClsPermiso ObjPermiso;//instancia de la clase ClsPermiso public PagAdminPermiso(ClsPermiso ObjPermiso, bool opc) { InitializeComponent(); this.opc = opc; //variable que define si se está agregando un nuevo o modificando un existente this.ObjPermiso = ObjPermiso; //asigna la variable del parámetro con la variable local. BindingContext = this.ObjPermiso; //indica que la vista se relacionará con los valores del objeto }
private async void ButGuardar_Clicked(object sender, EventArgs e) { try { if (!string.IsNullOrWhiteSpace(txtNombre.Text)) //validación de no nulos { if (ObjPermiso.Nombre.Length > 0) //validación de no vacío { CtrlPermiso manager = new CtrlPermiso(); //instancia de clase control var res = ""; if (opc) { var Objeto = await manager.InsertAsync(ObjPermiso);//llamada a método que inserta un nuevo registro if (Objeto != null) { ObjPermiso = Objeto.First(); //asignación de objeto local con datos recién ingresados txtId.Text = ObjPermiso.Id.ToString(); //mostrar id del registro creado res = "Ok"; //respuesta positiva } else { res = null;//respuesta negativa si no se realizó correctamente } } else { res = await manager.UpdateAsync(ObjPermiso); //llamada al método actualizar } if (res != null) { await DisplayAlert("Mensaje", "Datos Guardados Correctamente", "ok"); } else { await DisplayAlert("Mensaje", "No se guardó la información, vuelva a intentar más tarde", "ok"); } } else { await DisplayAlert("Mensaje", "Faltan Datos Necesarios", "ok"); } } else { await DisplayAlert("Mensaje", "Faltan Datos", "ok"); } } catch (Exception e1)//control de errores { await DisplayAlert("Mensaje", e1.Message, "ok"); } }
//método que invoca al script que elimina registros en la tabla permiso de la base de datos public async Task <string> DeleteAsync(ClsPermiso Objeto) { Url = "http://localhost/applecturas/logica/permiso/delete.php?" + "id=" + Objeto.Id; HttpClient client = getCliente(); var resp = await client.GetAsync(Url); if (resp.IsSuccessStatusCode) { return(await resp.Content.ReadAsStringAsync()); } return("false"); }
//método que elimina registro en la tabla perfilpermiso de la base de datos public async Task <string> QuitaPermisoAsync(ClsPerfil Objeto, ClsPermiso Objeto2) { Url = "http://" + Servidor + "/applecturas/logica/perfilpermiso/delete.php?" + "idperfil=" + Objeto.Id + "&idpermiso=" + Objeto2.Id; HttpClient client = getCliente(); var resp = await client.GetAsync(Url); if (resp.IsSuccessStatusCode) { return(await resp.Content.ReadAsStringAsync()); } return("false"); }
//método que invoca al script que realiza la inserción de registros en la base de datos en la tabla permiso public async Task <IEnumerable <ClsPermiso> > InsertAsync(ClsPermiso Objeto) { Url = "http://" + Servidor + "/applecturas/logica/permiso/insert.php?" + "nombre=" + Objeto.Nombre; HttpClient client = getCliente(); var resp = await client.GetAsync(Url); if (resp.IsSuccessStatusCode) { string content = await resp.Content.ReadAsStringAsync(); return(JsonConvert.DeserializeObject <IEnumerable <ClsPermiso> >(content)); } return(Enumerable.Empty <ClsPermiso>()); }
//maneja el evento item selected de la lista de objetos private void lstPermisos_ItemSelected(object sender, SelectedItemChangedEventArgs e) { ClsPermiso ObjPermiso = e.SelectedItem as ClsPermiso; //asignar el objeto seleccionado a la variable obj ((NavigationPage)this.Parent).PushAsync(new PagAdminPermiso(ObjPermiso, false)); //mostrar la vista adminpermiso con los datos cargados para modificar o eliminar }