private ClsPerfil ObjPerfil;//instancia de la clase ClsPerfil public PagAsignaPermiso(ClsPerfil ObjPerfil) { InitializeComponent(); this.ObjPerfil = ObjPerfil; //asigna la variable del parámetro con la variable local. TxtPerfil.Text = ObjPerfil.Nombre; //mostrar el nombre del perfil en la caja de texto ListarPermisos(); //llama al método listar permisos que carga los permisos creados para ser o no seleccionados }
ClsPerfil ObjPerfil;//instancia de la clase ClsPerfil public PagAdminPerfil(ClsPerfil ObjPerfil, bool opc) { InitializeComponent(); this.opc = opc; //variable que define si se está agregando un nuevo o modificando un existente this.ObjPerfil = ObjPerfil; //asigna la variable del parámetro con la variable local. BindingContext = this.ObjPerfil; //indica que la vista se relacionará con los valores del objeto }
//manejador del botón agregar private void BtnAgregar_Clicked(object sender, EventArgs e) { ClsPerfil ObjPerfil = new ClsPerfil(); //nueva instancia de clase clsperfil ObjPerfil.FechaIngreso = DateTime.Now; //asignar fecha actual ObjPerfil.FechaModificacion = DateTime.Now; ((NavigationPage)this.Parent).PushAsync(new Vista.PagAdminPerfil(ObjPerfil, true)); //mostrar la vista adminperfil con campos vacíos para ingresar nuevo }
//manejador del botón asignar usuario private void ButAsigUsuario_Clicked(object sender, EventArgs e) { ClsUsuario ObjUsuario = new ClsUsuario(); ClsPerfil ObjPerfil = new ClsPerfil(); ObjUsuario.ObjPersona = ObjPersona; ObjUsuario.ObjPerfil = ObjPerfil; ObjUsuario.FechaIngreso = DateTime.Now; ObjUsuario.FechaModificacion = DateTime.Now; ((NavigationPage)this.Parent).PushAsync(new Vista.PagAdminUsuario(ObjUsuario, true)); }
//manejador del botón agregar private void BtnAgregar_Clicked(object sender, EventArgs e) { ClsUsuario ObjUsuario = new ClsUsuario(); //nueva instancia clase clsusuario ClsPersona ObjPersona = new ClsPersona(); //nueva instancia clase clspersona ClsPerfil ObjPerfil = new ClsPerfil(); //nueva instancia clase objperfil ObjUsuario.ObjPersona = ObjPersona; //asignar instancias a la instancia del la clase usuario ObjUsuario.ObjPerfil = ObjPerfil; ObjUsuario.FechaIngreso = DateTime.Now; //asignar fecha actual ObjUsuario.FechaModificacion = DateTime.Now; ((NavigationPage)this.Parent).PushAsync(new Vista.PagAdminUsuario(ObjUsuario, true)); //mostrar la vista adminusuario con campos vacíos para ingresar nuevo }
private async void ButGuardar_Clicked(object sender, EventArgs e) { try { if (!string.IsNullOrWhiteSpace(txtNombre.Text)) //validación de no nulos { if (ObjPerfil.Nombre.Length > 0) //validación de no vacío { CtrlPerfil manager = new CtrlPerfil(); //instancia de clase control var res = ""; if (opc) { var Objeto = await manager.InsertAsync(ObjPerfil);//llmada a método que inserta un nuevo registro if (Objeto != null) { ObjPerfil = Objeto.First(); //asignación de objeto local con datos recién ingresados txtId.Text = ObjPerfil.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(ObjPerfil); //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 perfil de la base de datos public async Task <string> DeleteAsync(ClsPerfil Objeto) { Url = "http://" + Servidor + "/applecturas/logica/perfil/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 inserta registro en la tabla perfilpermiso de la base de datos public async Task <string> AsignaPermisoAsync(ClsPerfil Objeto, ClsPermiso Objeto2) { Url = "http://" + Servidor + "/applecturas/logica/perfilpermiso/insert.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 perfil public async Task <IEnumerable <ClsPerfil> > InsertAsync(ClsPerfil Objeto) { Url = "http://" + Servidor + "/applecturas/logica/perfil/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 <ClsPerfil> >(content)); } return(Enumerable.Empty <ClsPerfil>()); }
//maneja el evento item selected de la lista de objetos private void lstPerfiles_ItemSelected(object sender, SelectedItemChangedEventArgs e) { ClsPerfil ObjPerfil = e.SelectedItem as ClsPerfil;//asignar el objeto seleccionado a la variable obj ((NavigationPage)this.Parent).PushAsync(new PagAdminPerfil(ObjPerfil, false)); }