/// <summary> /// Este metodo llena los datagridview con los permisos y roles asignados a un usario en especifico /// </summary> public void ConsultarPermisosUsuario(DataGridView dtg, string nombreUsuario, DataGridView dtgRoles) { using (TransactionScope scope = new TransactionScope()) { try { usuarios user = new Cls_Usuario().Consultar(nombreUsuario); ventanas ventana; Array ListaPermisos = permisosUserDAL.ListaPermisos(user.idUsuario); foreach (permisosAUsuarios per in ListaPermisos) { ventana = new Cls_Ventanas().ConsultarVentanas(Convert.ToInt32(per.idventana)); dtg.Rows.Add(per.idventana, ventana.nombre, per.consultar, per.insertar, per.modificar, per.eliminar); } ListaPermisos = new Cls_RolAsignado().ListaRoles(user.idUsuario); foreach (rolAsignadoAUsuario per in ListaPermisos) { roles rol = new Cls_Rol().Consultar(Convert.ToInt32(per.idRol)); dtgRoles.Rows.Add(per.idRol, rol.nombre); } scope.Complete(); } catch (Exception ex) { scope.Dispose(); throw ex; } } }
/// <summary> /// Este metodo permite modificar los permisos y roles asignados al usuario /// </summary> public void ModificarPermisos(string nombreUsuario, DataGridView dtgPermisos) { using (TransactionScope scope = new TransactionScope()) { try { usuarios user = new Cls_Usuario().Consultar(nombreUsuario); //Modificar permisos int numFila = dtgPermisos.RowCount - 1; for (int i = 0; i < numFila; i++) { permisosAUsuarios permisosUsuario = new permisosAUsuarios { idusuario = user.idUsuario, idventana = Convert.ToInt32(dtgPermisos.Rows[i].Cells[0].Value), consultar = Convert.ToInt32(dtgPermisos.Rows[i].Cells[2].Value), insertar = Convert.ToInt32(dtgPermisos.Rows[i].Cells[3].Value), modificar = Convert.ToInt32(dtgPermisos.Rows[i].Cells[4].Value), eliminar = Convert.ToInt32(dtgPermisos.Rows[i].Cells[5].Value) }; permisosUserDAL.Modificar(permisosUsuario); } scope.Complete(); } catch (Exception ex) { scope.Dispose(); throw ex; } } }
/// <summary> /// Este metodo elimina los permisos y roles asignados al usuario /// </summary> /// <param name="nombreUsuario"></param> public void EliminarPermisos(string nombreUsuario) { using (TransactionScope scope = new TransactionScope()) { try { usuarios user = new Cls_Usuario().Consultar(nombreUsuario); permisosUserDAL.EliminarPermisos(user.idUsuario); new Cls_RolAsignado().EliminarRolAsignado(user.idUsuario); scope.Complete(); } catch (Exception ex) { scope.Dispose(); throw new Exception("No se puede eliminar permisos o roles asignados"); } } }