public UserPermissionPage GetUserPermissionPage(int userId) { var userPermisssionPage = DataCache.Get <UserPermissionPage>(CacheKey.KeyUserPermissionPage + userId); if (userPermisssionPage.IsNullOrEmpty()) { userPermisssionPage = new UserPermissionPage { UserId = userId, Pages = _pageDao.GetPageListByUserId(userId).Select(PageService.GetPageFromPagePo).ToList() }; var roles = _roleDao.GetRoleList(userId).Where(role => role.IsValid); foreach (var role in roles) { var rolePermissionPage = new RolePermissionPage { RoleId = role.Id, Pages = _pageDao.GetPageListByRoleId(role.Id).Select(PageService.GetPageFromPagePo).ToList() }; foreach (var page in rolePermissionPage.Pages) { if (!userPermisssionPage.Pages.Select(p => p.Id).ToList().Contains(page.Id)) { userPermisssionPage.Pages.Add(page); } } } DataCache.Insert(CacheKey.KeyUserPermissionPage + userId, userPermisssionPage); } return(userPermisssionPage); }
public UserRoles GetUserRoles(int userId) { var userRoles = new UserRoles { User = GetUser(userId), Roles = _roleDao.GetRoleList(userId).Select(RoleService.GetRoleFromRolePo).ToList() }; return(userRoles); }
//todo unitestd public List <Role> GetRoleList(string strOrder) { return(_roleDao.GetRoleList(strOrder).Select(GetRoleFromRolePo).ToList()); }