public static List <Rol> GetAll() { var conn = Repository.GetConnection(); string comando = string.Format(@"SELECT * FROM TIRANDO_QUERIES.Rol"); DataTable dataTable = new DataTable(); SqlDataAdapter dataAdapter = new SqlDataAdapter(comando, conn); List <Rol> roles = new List <Rol>(); try { dataAdapter.Fill(dataTable); foreach (DataRow fila in dataTable.Rows) { int idRol = int.Parse(fila["rol_codigo"].ToString()); Rol rol = new Rol { Cod_rol = idRol, Activo = bool.Parse(fila["rol_activo"].ToString()), Nombre = fila["rol_nombre"].ToString(), Permisos = PermisoDAO.GetAllForIDRol(idRol) }; roles.Add(rol); } conn.Close(); conn.Dispose(); return(roles); } catch (Exception ex) { throw new Exception("Ocurrió un error al listar los roles", ex); } }
public static Rol GetByID(int id) { var conn = Repository.GetConnection(); string comando = string.Format(@"SELECT * FROM TIRANDO_QUERIES.Rol WHERE rol_codigo = {0}", id); DataTable dataTable; SqlDataAdapter dataAdapter; try { dataAdapter = new SqlDataAdapter(comando, conn); dataTable = new DataTable(); dataAdapter.Fill(dataTable); DataRow registroRol = dataTable.Rows[0]; var idRol = int.Parse(registroRol["rol_codigo"].ToString()); var rol = new Rol { Activo = bool.Parse(registroRol["rol_activo"].ToString()), Cod_rol = idRol, Nombre = registroRol["rol_nombre"].ToString(), Permisos = PermisoDAO.GetAllForIDRol(idRol) }; conn.Close(); conn.Dispose(); return(rol); } catch (Exception ex) { throw new Exception("Ocurrió un error al intentar obtener el rol", ex); } }
public static List <Permiso> GetAllForIDRol(int idRol) { DataTable dataTable; SqlDataAdapter dataAdapter; var conn = Repository.GetConnection(); string comando = string.Format(@"SELECT * FROM TIRANDO_QUERIES.Permiso_Rol WHERE pr_rol_codigo = {0}", idRol); try { dataAdapter = new SqlDataAdapter(comando, conn); dataTable = new DataTable(); dataAdapter.Fill(dataTable); List <Permiso> permisos = new List <Permiso>(); foreach (DataRow fila in dataTable.Rows) { var codigoPermiso = int.Parse(fila["pr_perm_codigo"].ToString()); var permiso = PermisoDAO.GetByID(codigoPermiso); permisos.Add(permiso); } dataAdapter.Dispose(); conn.Dispose(); conn.Close(); return(permisos); } catch (Exception ex) { throw new Exception("Ocurrió un error al listar los permisos del rol", ex); } }
public static List <Rol> GetAllWithFilters(string likeFilter, string exactFilter, int?idDropdown) { int codigoRol; if (!int.TryParse(exactFilter, out codigoRol) && !string.IsNullOrWhiteSpace(exactFilter)) { throw new Exception("El código de rol solo puede contener numeros"); } var conn = Repository.GetConnection(); SqlCommand comando = new SqlCommand(@"SELECT r.* FROM TIRANDO_QUERIES.Rol r " + "join TIRANDO_QUERIES.Permiso_Rol on rol_codigo = pr_rol_codigo " + "join TIRANDO_QUERIES.Permiso on pr_perm_codigo = perm_codigo " + "where 1=1 ", conn); DataTable dataTable = new DataTable(); if (!string.IsNullOrWhiteSpace(likeFilter)) { comando.CommandText += "AND (rol_nombre like '%' + @likeParameter + '%' OR " + "perm_nombre like '%' + @likeParameter + '%') "; comando.Parameters.AddWithValue("@likeParameter", likeFilter.Trim()); } if (!string.IsNullOrWhiteSpace(exactFilter)) { comando.CommandText += "AND rol_codigo = @exactFilter "; comando.Parameters.AddWithValue("@exactFilter", exactFilter); } if (idDropdown != null && idDropdown != 0) { comando.CommandText += "AND perm_codigo = @codigoPermiso "; comando.Parameters.AddWithValue("@codigoPermiso", idDropdown.Value); } comando.CommandText += "group by r.rol_nombre, r.rol_codigo, r.rol_activo"; SqlDataAdapter dataAdapter = new SqlDataAdapter() { SelectCommand = comando }; try { dataAdapter.Fill(dataTable); List <Rol> roles = new List <Rol>(); foreach (DataRow fila in dataTable.Rows) { int idRol = int.Parse(fila["rol_codigo"].ToString()); Rol rol = new Rol { Cod_rol = idRol, Activo = bool.Parse(fila["rol_activo"].ToString()), Nombre = fila["rol_nombre"].ToString(), Permisos = PermisoDAO.GetAllForIDRol(idRol) }; roles.Add(rol); } return(roles); } catch (Exception ex) { throw new Exception("Ocurrió un error al intentar listar los roles", ex); } finally { conn.Close(); conn.Dispose(); } }