//ACTUALIZAR UN ROL EXISTENTE public static void ActualizarRol(int id, String nombre, List <int> listaFunc) { SqlConnection conexion = DAL.Conexion.getConexion(); //SqlTransaction ts = conexion.BeginTransaction(); CommittableTransaction ts = new CommittableTransaction(); conexion.EnlistTransaction(ts); try { DAL.RolesDAL rolDAL = new FrbaCommerce.DAL.RolesDAL(); DAL.RolesFuncionalidadesDAL rfDAL = new FrbaCommerce.DAL.RolesFuncionalidadesDAL(); rfDAL.EliminarFuncionalidadDeRol(id); rolDAL.ActualizarRol(id, nombre); foreach (int i in listaFunc) { rfDAL.InsertarFuncionalidadRol(id, i); } ts.Commit(); ts.Dispose(); } catch (Exception ex) { ts.Rollback(); ts.Dispose(); throw ex; } }
//INGRESAR UN NUEVO ROL public static void IngresarNuevoRol(String nombre, List <int> listaFunc) { SqlConnection conexion = DAL.Conexion.getConexion(); //SqlTransaction ts = conexion.BeginTransaction(); CommittableTransaction ts = new CommittableTransaction(); conexion.EnlistTransaction(ts); try { DAL.RolesDAL rolDAL = new FrbaCommerce.DAL.RolesDAL(); DAL.RolesFuncionalidadesDAL rfDAL = new FrbaCommerce.DAL.RolesFuncionalidadesDAL(); rolDAL.InsertarRol(nombre); int idRol = rolDAL.ObtenerRolPorNombre(nombre); foreach (int i in listaFunc) { rfDAL.InsertarFuncionalidadRol(idRol, i); } ts.Commit(); ts.Dispose(); } catch (Exception ex) { ts.Rollback(); ts.Dispose(); throw ex; } }
//OBTIENE LAS FUNCIONALIDADES DE UN ROL PARTICULAR public static DataTable ObtenerFuncionalidadesDeRol(int rol) { try { DAL.RolesFuncionalidadesDAL rfDAL = new FrbaCommerce.DAL.RolesFuncionalidadesDAL(); return(rfDAL.ObtenerFuncionalidadesDeRol(rol)); } catch (Exception ex) { throw ex; } }
//ELIMINAR UN ROL EXISTENTE public static void EliminarRol(int id) { try { DAL.RolesDAL rolDAL = new FrbaCommerce.DAL.RolesDAL(); DAL.RolesFuncionalidadesDAL rfDAL = new FrbaCommerce.DAL.RolesFuncionalidadesDAL(); rfDAL.EliminarFuncionalidadDeRol(id); rolDAL.EliminarRol(id); } catch (Exception ex) { throw ex; } }
//PARA UN USUARIO Y UN ROL PARTICULAR, DEVUELVE LAS FUNCIONALIDADES ASOCIADAS public static Dictionary <String, bool> getFuncionalidadesDisponibles(int usr, int rol) { Dictionary <String, bool> dic = new Dictionary <string, bool>(); DAL.RolesFuncionalidadesDAL rfDAL = new FrbaCommerce.DAL.RolesFuncionalidadesDAL(); //RolesFuncionalidades rf = new RolesFuncionalidades(); DAL.FuncionalidadesDAL funcDAL = new FrbaCommerce.DAL.FuncionalidadesDAL(); DataTable dt = funcDAL.ListarFuncionalidades(); foreach (DataRow dr in dt.Rows) { dic.Add(dr.ItemArray[1].ToString(), false); } dt = rfDAL.ObtenerFuncionalidadesDeRol(rol); foreach (DataRow dr in dt.Rows) { dic[dr.ItemArray[0].ToString()] = true; } return(dic); }