예제 #1
0
 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
 }
예제 #2
0
        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");
            }
        }
예제 #3
0
        //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");
        }
예제 #4
0
        //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");
        }
예제 #5
0
        //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>());
        }
예제 #6
0
        //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
        }