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 RolePermissionPage GetRolePermissionPage(int roleId)
        {
            var rolePermissionPage = new RolePermissionPage
            {
                RoleId = roleId,
                Pages  = _pageDao.GetPageListByRoleId(roleId).Select(PageService.GetPageFromPagePo).ToList()
            };

            return(rolePermissionPage);
        }