/// <summary>
        /// 取得後台使用者 By 使用者Id No Lazy
        /// </summary>
        /// <param name="userId">使用者Id</param>
        /// <returns>後台使用者</returns>
        public LoginUserVO GetLoginUserByIdNoLazy(string userId)
        {
            LoginUserVO user = LoginUserDao.GetLoginUserById(userId);

            if (user != null)
            {
                NHibernateUtil.Initialize(user.LoginRoleList);

                if (user.LoginRoleList != null && user.LoginRoleList.Count > 0)
                {
                    foreach (LoginRoleVO role in user.LoginRoleList)
                    {
                        NHibernateUtil.Initialize(role.MenuFuncList);

                        if (role.MenuFuncList != null && role.MenuFuncList.Count > 0)
                        {
                            foreach (MenuFuncVO menufunc in role.MenuFuncList)
                            {
                                NHibernateUtil.Initialize(menufunc.FuncionPaths);
                            }
                        }
                    }
                }
            }

            return(user);
        }
        /// <summary>
        /// 判斷路徑是否有權限
        /// </summary>
        /// <param name="loginUserVO">後台使用者</param>
        /// <param name="uri">路徑</param>
        /// <returns>路徑是否有權限 </returns>
        public bool PathHasAuth(LoginUserVO user, Uri uri)
        {
            string path = uri.ToString();

            LoginUserVO         loginUserVO   = LoginUserDao.GetLoginUserById(user.UserId);
            IList <LoginRoleVO> loginRoleList = loginUserVO.LoginRoleList;

            HashSet <string> pathRightSet = new HashSet <string>();

            foreach (LoginRoleVO role in loginRoleList)
            {
                IList <MenuFuncVO> menuFuncList = role.MenuFuncList;

                foreach (MenuFuncVO menuFunc in menuFuncList)
                {
                    pathRightSet.Add(menuFunc.MainPath);

                    if (menuFunc.FuncionPaths != null && menuFunc.FuncionPaths.Count > 0)
                    {
                        foreach (FunctionPathVO fpth in menuFunc.FuncionPaths)
                        {
                            if (!string.IsNullOrEmpty(fpth.Path))
                            {
                                pathRightSet.Add(fpth.Path);
                            }
                        }
                    }
                }
            }

            pathRightSet.Add("admin/index.aspx");
            if (pathRightSet.Count > 0)
            {
                foreach (string rightPath in pathRightSet.ToArray <string>())
                {
                    if (path.IndexOf(rightPath) != -1)
                    {
                        return(true);
                    }
                }
            }

            return(false);
        }
 /// <summary>
 /// 新增後台使用者
 /// </summary>
 /// <param name="loginUserVO">被新增的後台使用者</param>
 /// <returns>新增後的後台使用者</returns>
 public LoginUserVO CreateLoginUser(LoginUserVO loginUserVO)
 {
     return(LoginUserDao.CreateLoginUser(loginUserVO));
 }
 /// <summary>
 /// 取得後台使用者 By 使用者Id
 /// </summary>
 /// <param name="userId">使用者Id</param>
 /// <returns>後台使用者</returns>
 public LoginUserVO GetLoginUserById(string userId)
 {
     return(LoginUserDao.GetLoginUserById(userId));
 }
 /// <summary>
 /// 取得全部的後台使用者清單
 /// </summary>
 /// <returns>全部的後台使用者清單</returns>
 public IList <LoginUserVO> GetAllLoginUserList()
 {
     return(LoginUserDao.GetAllLoginUserList());
 }
 /// <summary>
 /// 刪除後台使用者
 /// </summary>
 /// <param name="loginUserVO">被刪除的後台使用者</param>
 public void DeleteLoginUser(LoginUserVO loginUserVO)
 {
     LoginUserDao.DeleteLoginUser(loginUserVO);
 }
 /// <summary>
 /// 取得後台使用者清單
 /// </summary>
 /// <param name="queryString">搜尋語法,用Where...order by ...</param>
 /// <returns>後台使用者清單</returns>
 public IList <LoginUserVO> GetLoginUserList(string queryString)
 {
     return(LoginUserDao.GetLoginUserList(queryString));
 }
 /// <summary>
 /// 更新後台使用者
 /// </summary>
 /// <param name="loginUserVO">被更新的後台使用者</param>
 /// <returns>更新後的後台使用者</returns>
 public LoginUserVO UpdateLoginUser(LoginUserVO loginUserVO)
 {
     return(LoginUserDao.UpdateLoginUser(loginUserVO));
 }