Пример #1
0
        public Resultado ActualizarPermisos(BE.Usuario usuario)
        {
            try
            {
                BLL.Permiso bllPermiso = new BLL.Permiso();
                BLL.UsuarioPermiso bllUsuarioPermiso = new BLL.UsuarioPermiso();

                List<PermisoComponente> permisosOriginales = bllPermiso.ObtenerPermisosDeUsuario(usuario.Id);

                foreach (PermisoComponente permiso in usuario.Permisos)
                {
                    if (!bllPermiso.TienePermiso(permiso.Id, permisosOriginales))
                        //bllUsuarioPermiso.Agregar(new BE.UsuarioPermiso() { IdPermiso = permiso.Id, IdUsuario = usuario.Id });
                        bllUsuarioPermiso.Agregar(new BE.UsuarioPermiso() {Permiso = new BE.Composite.Permiso(){Id = permiso.Id}, Usuario = new BE.Usuario(){Id = usuario.Id}});

                }

                foreach (PermisoComponente permiso in permisosOriginales)
                {
                    if (!bllPermiso.TienePermiso(permiso.Id, usuario.Permisos))
                        //bllUsuarioPermiso.Quitar(new BE.UsuarioPermiso() { IdPermiso = permiso.Id, IdUsuario = usuario.Id });
                        bllUsuarioPermiso.Agregar(new BE.UsuarioPermiso() {Permiso = new BE.Composite.Permiso(){Id = permiso.Id}, Usuario = new BE.Usuario(){Id = usuario.Id}});

                }

                return new Resultado(false, "Permisos actualizados correctamente", TipoMensaje.CORRECTO, "Actualizar permisos");
            }
            catch (Exception e)
            {
                return new Resultado(true, "Error al actualizar los permisos", TipoMensaje.ERROR, "Actualizar permisos");
            }



        }
        private void HabilitarOpciones()
        {
            foreach (TreeViewItem item in treeViewMenu.Items)
            {
                int idPermiso = Convert.ToInt32(item.Tag.ToString().Split('|').GetValue(0));

                if (_bllPermiso.TienePermiso(idPermiso, ManejadorSesion.Instancia.ObtenerSesion().Usuario.Permisos))
                {
                    item.Visibility = Visibility.Visible;
                    item.Focus();
                    HabilitarNodos(item);
                }
                else
                {
                    HabilitarNodos(item);
                }
            }
        }