/// <summary> /// Получает список подролей по роли. /// </summary> /// <param name="role">Роль.</param> /// <returns>Список ролей.</returns> public List<RoleItem> GetListByOwnerRole(RoleItem role) { using (var sqlh = new SqlHelper()) { return sqlh.ExecMappingList<RoleItem>(@" select r.role Id, r.code Code, r.mem Mem from Access.role r join Access.role_member m on m.role_offer = r.role where m.role_owner = @Id", role); } }
/// <summary> /// Получает список ролей по пользователю. /// </summary> /// <param name="user">Пользователь.</param> /// <returns>Список ролей.</returns> public List<RoleItem> GetListByUser(UserItem user) { List<RoleItem> listRole = new List<RoleItem>(); using (var sqlh = new SqlHelper()) { listRole = sqlh.ExecMappingList<RoleItem>(@" select r.role Id, r.code Code, r.mem Mem from Access.[user] u join Access.user2role u2r on u2r.[user] = u.[user] join Access.role r on r.role = u2r.role where u.[user] = @Id", user); } listRole.ForEach(delegate(RoleItem role) { listRole.AddRange(GetListByOwnerRole(role)); }); return listRole; }
/// <summary> /// Получает список всех ролей. /// </summary> /// <returns>Список ролей.</returns> public List<RoleItem> GetList() { using (var sqlh = new SqlHelper()) { return sqlh.ExecMappingList<RoleItem>(@" select r.role Id, r.code Code, r.mem Mem from Access.role r"); } }