예제 #1
0
        public List <YnWebAccMenuTree> GetYnWebAccMenuTreeList(YnUser ynUser)
        {
            try
            {
                List <YnWebAccMenuTree> listYnWebAccMenuTree = null;
                if (YnUserService.GetInstance().IsSuperAdministrator(ynUser.userId) || YnUserService.GetInstance().IsAdministrator(ynUser.userId))
                {
                    listYnWebAccMenuTree = YnWebAccMenuTreeService.GetInstance().GetList(string.Empty, string.Empty, string.Empty);
                }
                else
                {
                    listYnWebAccMenuTree = YnWebAccMenuTreeService.GetInstance().GetListByUser(ynUser);
                }
                return(listYnWebAccMenuTree);

                /*if(listYnWebAccMenuTree!=null){
                 *              //根据tree获取accmenu
                 *              List<YnWebAccMenu> listYnWebAccMenu = new List<YnWebAccMenu>();
                 *              foreach(YnWebAccMenuTree ynWebAccMenuTree in listYnWebAccMenuTree){
                 *                      if(ynWebAccMenuTree.getYnWebAccMenu()!=null){
                 *                              YnWebAccMenu ynWebAccMenu=null;
                 *                              for(YnWebAccMenu _ynWebAccMenu :listYnWebAccMenu){
                 *                                      if(ynWebAccMenuTree.getYnWebAccMenu().getId().equals(_ynWebAccMenu.getId())){
                 *                                              ynWebAccMenu=_ynWebAccMenu;
                 *                                              break;
                 *                                      }
                 *                              }
                 *                              if(ynWebAccMenu==null){
                 *                                      listYnWebAccMenu.add(ynWebAccMenuTree.getYnWebAccMenu());
                 *                              }
                 *                      }
                 *              }
                 *              GenerationMenu( listYnWebAccMenu, listYnWebAccMenuTree);*/
                /*//根据accmenu生成菜单
                 * for(YnWebAccMenu _ynWebAccMenu :listYnWebAccMenu){
                 *  if(ynWebAccMenuTree.getYnWebAccMenu().getId()==_ynWebAccMenu.getId()){
                 *      ynWebAccMenu=_ynWebAccMenu;
                 *      break;
                 *  }
                 * }*/
                //}
            }
            catch (Exception ex)
            {
                throw ex;
            }
            return(null);
        }
예제 #2
0
        public List <YnWebAccMenuTree> GetYnWebAccMenuTreeList_Old(string userId)
        {
            List <YnWebAccMenuTree> listYnWebAccMenuTree = null;

            if (!string.IsNullOrEmpty(userId))
            {
                if (YnUserService.GetInstance().IsSuperAdministrator(userId) || YnUserService.GetInstance().IsAdministrator(userId))
                {
                    try
                    {
                        listYnWebAccMenuTree = YnWebAccMenuTreeService.GetInstance().GetList(string.Empty, string.Empty, string.Empty);
                    }
                    catch (Exception ex)
                    {
                        throw ex;
                    }
                }
                else
                {
                    #region 非管理员
                    List <int>         listModuleId          = null;
                    List <YnWebModule> listYnWebModuleByUser = GetYnWebModuleListByUser(userId);
                    if (listYnWebModuleByUser != null)
                    {
                        listModuleId = new List <int>();
                        foreach (YnWebModule ynWebModule in listYnWebModuleByUser)
                        {
                            listModuleId.Add(ynWebModule.id);
                        }
                    }
                    string             roleIds = GetRoleIds(userId);
                    List <YnWebModule> listYnWebModuleByRole = GetYnWebModuleListByRole(roleIds);
                    if (listYnWebModuleByRole != null)
                    {
                        listModuleId = listModuleId ?? new List <int>();
                        foreach (YnWebModule ynWebModule in listYnWebModuleByRole)
                        {
                            if (!listModuleId.Contains(ynWebModule.id))
                            {
                                listModuleId.Add(ynWebModule.id);
                            }
                        }
                    }
                    if (listModuleId != null && listModuleId.Count > 0)
                    {
                        string moduleIds = string.Empty;
                        foreach (int moduleId in listModuleId)
                        {
                            if (!string.IsNullOrEmpty(moduleIds))
                            {
                                moduleIds += ",";
                            }
                            moduleIds += moduleId.ToString();
                        }
                        try
                        {
                            listYnWebAccMenuTree = YnWebAccMenuTreeService.GetInstance().GetListByModule(moduleIds);
                        }
                        catch (Exception ex)
                        {
                            throw ex;
                        }
                    }
                    #endregion
                }
            }
            return(listYnWebAccMenuTree);
        }