public ActionResult GetMenuAjax(byte? Status)
 {
     MenuQuery menuQuery = new MenuQuery();
     menuQuery.JournalID = JournalID;
     menuQuery.GroupID = 0;
     if (Status != null)
     {
         menuQuery.Status = Status.Value;
     }
     ISiteSystemFacadeService siteSystemService = ServiceContainer.Instance.Container.Resolve<ISiteSystemFacadeService>();
     var result = new { Rows = siteSystemService.GetAllMenuList(menuQuery) };
     return Content(JsonConvert.SerializeObject(result));
 }
        /// <summary>
        /// 获取所有列表
        /// </summary>
        /// <param name="query"></param>
        /// <returns></returns>
        public IList<MenuEntity> GetAllMenuList(MenuQuery query)
        {
            HttpClientHelper clientHelper = new HttpClientHelper();

            IList<MenuEntity> listAllMenu = clientHelper.Post<IList<MenuEntity>,MenuQuery>(GetAPIUrl(APIConstant.SYSGETSYSMENUAJAX), query);
            IList<MenuEntity> listResult = new List<MenuEntity>();

            if (listAllMenu != null)
            {
                IList<MenuEntity> listRoot = listAllMenu.Where(item => item.PMenuID == 0).ToList<MenuEntity>();
                foreach (MenuEntity item in listRoot)
                {
                    item.MenuUrl = SiteConfig.RootPath + item.MenuUrl;
                    item.IconUrl = SiteConfig.RootPath + item.IconUrl;
                    IList<MenuEntity> listChild = listAllMenu.Where(p => p.PMenuID == item.MenuID).ToList<MenuEntity>();
                    if (listChild != null)
                    {
                        // 二级
                        foreach (MenuEntity itemChild in listChild)
                        {
                            itemChild.MenuUrl = SiteConfig.RootPath + itemChild.MenuUrl;
                            itemChild.IconUrl = SiteConfig.RootPath + itemChild.IconUrl;
                            item.children.Add(itemChild);
                            // 三级
                            IList<MenuEntity> lastListChild = listAllMenu.Where(p => p.PMenuID == itemChild.MenuID).ToList<MenuEntity>();
                            foreach (MenuEntity lastChild in lastListChild)
                            {
                                lastChild.MenuUrl = SiteConfig.RootPath + lastChild.MenuUrl;
                                lastChild.IconUrl = SiteConfig.RootPath + lastChild.IconUrl;
                                itemChild.children.Add(lastChild);
                            }
                        }
                    }

                    listResult.Add(item);
                }
            }
            return listResult;
        }
        /// <summary>
        /// 获取菜单列表,带有权限标示
        /// </summary>
        /// <param name="query"></param>
        /// <returns></returns>
        public IList<TreeModel> GetHaveRightMenu(RoleMenuQuery queryRoleMenu)
        {
            if (queryRoleMenu.GroupID == 2)
            {
                MenuQuery query = new MenuQuery();
                query.JournalID = queryRoleMenu.JournalID;
                query.GroupID = 2;
                query.Status = 1;
                return GetTreeNodeList(query);
            }

            # region 找到内容菜单,添加栏目列表

            Func<IList<TreeModel>> funcGetSiteChanneNodes = () =>
            {
                IList<TreeModel> channelTreeList = new List<TreeModel>();
                SiteChannelQuery channelQuery = new SiteChannelQuery();
                channelQuery.JournalID = queryRoleMenu.JournalID;
                channelQuery.Status = 1;
                SiteConfigFacadeAPIService siteConfigAPIService = new SiteConfigFacadeAPIService();
                channelTreeList = siteConfigAPIService.GetSiteChannelTreeList(channelQuery,true);
                TreeModel root = channelTreeList.Single(p => p.Id == 0);
                return root.children;
            };

            # endregion

            IList<TreeModel> listResult = new List<TreeModel>();

            HttpClientHelper clientHelper = new HttpClientHelper();

            // 给指定的作者设置了例外的菜单
            IDictionary<long, string> dictExceptionRightMenu = new Dictionary<long, string>();
            if (queryRoleMenu.AuthorID != null)
            {
                AuthorMenuRightExceptionEntity authorExecEntity = new AuthorMenuRightExceptionEntity();
                authorExecEntity.AuthorID = queryRoleMenu.AuthorID.Value;
                authorExecEntity.JournalID = queryRoleMenu.JournalID;
                dictExceptionRightMenu = clientHelper.PostAuth<IDictionary<long, string>, AuthorMenuRightExceptionEntity>(GetAPIUrl(APIConstant.SYSGETAUTHOREXCEPTIONRIGHTMENU), authorExecEntity);
            }
            IList<MenuEntity> listHaveRightMenuList = clientHelper.Post<IList<MenuEntity>, RoleMenuQuery>(GetAPIUrl(APIConstant.SYSGETHAVERIGHTMENULIST), queryRoleMenu);

            if (listHaveRightMenuList != null)
            {
                IList<MenuEntity> listRoot = listHaveRightMenuList.Where(item => item.PMenuID == 0).ToList<MenuEntity>();
                TreeModel treeNode = null;
                foreach (MenuEntity item in listRoot)
                {
                    if (!dictExceptionRightMenu.ContainsKey(item.MenuID))
                    {
                        bool first = true;

                        treeNode = new TreeModel();
                        treeNode.key = item.MenuID.ToString();
                        treeNode.text = item.MenuName;
                        treeNode.url = SiteConfig.RootPath + item.MenuUrl;
                        treeNode.icon = SiteConfig.RootPath + item.IconUrl;
                        treeNode.isexpand = queryRoleMenu.IsExpend;

                        IList<MenuEntity> listChild = listHaveRightMenuList.Where(p => p.PMenuID == item.MenuID).ToList<MenuEntity>();
                        if (listChild != null)
                        {
                            treeNode.isexpand = (first != queryRoleMenu.IsExpend) && first ? first : queryRoleMenu.IsExpend;
                            // 二级
                            foreach (MenuEntity itemChild in listChild)
                            {
                                if (!dictExceptionRightMenu.ContainsKey(itemChild.MenuID))
                                {
                                    TreeModel treeChildNode = new TreeModel();
                                    treeChildNode.key = itemChild.MenuID.ToString();
                                    treeChildNode.text = itemChild.MenuName;
                                    treeChildNode.url = SiteConfig.RootPath + itemChild.MenuUrl;
                                    treeChildNode.icon = SiteConfig.RootPath + itemChild.IconUrl;
                                    treeChildNode.isexpand = queryRoleMenu.IsExpend;
                                    // 如果是网站内容管理节点,则载入站点栏目设置
                                    if (itemChild.IsContentMenu)
                                    {
                                        treeChildNode.children = funcGetSiteChanneNodes();
                                        treeNode.children.Add(treeChildNode);
                                    }
                                    else
                                    {
                                        treeNode.children.Add(treeChildNode);
                                        // 三级
                                        IList<MenuEntity> lastListChild = listHaveRightMenuList.Where(p => p.PMenuID == itemChild.MenuID).ToList<MenuEntity>();
                                        foreach (MenuEntity lastChild in lastListChild)
                                        {
                                            if (!dictExceptionRightMenu.ContainsKey(lastChild.MenuID))
                                            {
                                                TreeModel treeLastNode = new TreeModel();
                                                treeLastNode.key = lastChild.MenuID.ToString();
                                                treeLastNode.text = lastChild.MenuName;
                                                treeLastNode.url = SiteConfig.RootPath + lastChild.MenuUrl;
                                                treeLastNode.icon = SiteConfig.RootPath + lastChild.IconUrl;
                                                treeLastNode.isexpand = queryRoleMenu.IsExpend;
                                                treeChildNode.children.Add(treeLastNode);
                                            }
                                        }
                                    }
                                }
                            }
                            first = false;
                        }
                        listResult.Add(treeNode);
                    }
                }
            }
            return listResult;
        }
        /// <summary>
        /// 修改状态
        /// </summary>
        /// <param name="menuEntity"></param>
        /// <returns></returns>
        public bool UpdateStaus(MenuQuery menuQuery)
        {
            bool flag = false;
            StringBuilder whereCommandText = new StringBuilder();
            if (menuQuery.MenuIDList.Count == 0)
            {
                whereCommandText.Append(" MenuID=@MenuID AND JournalID=@JournalID ");
            }
            else
            {
                whereCommandText.AppendFormat(" MenuID IN ({0}) AND JournalID=@JournalID ",string.Join(",",menuQuery.MenuIDList));
            }
            StringBuilder sqlCommandText = new StringBuilder();
            sqlCommandText.Append("Status=@Status");

            DbCommand cmd = db.GetSqlStringCommand(String.Format("UPDATE dbo.Menu SET {0} WHERE  {1}", sqlCommandText.ToString(), whereCommandText.ToString()));

            if (menuQuery.MenuIDList.Count == 0)
            {
                db.AddInParameter(cmd, "@MenuID", DbType.Int64, menuQuery.MenuID);
            }
            db.AddInParameter(cmd, "@JournalID", DbType.Int64, menuQuery.JournalID);
            db.AddInParameter(cmd, "@Status", DbType.Byte, menuQuery.Status);

            try
            {
                db.ExecuteNonQuery(cmd);
                flag = true;
            }
            catch (SqlException sqlEx)
            {
                throw sqlEx;
            }
            return flag;
        }
 /// <summary>
 /// 将查询实体转换为Where语句
 /// <param name="query">查询实体</param>
 /// <returns>获取Where语句,不包含Where</returns>
 /// </summary>
 public string MenuQueryToSQLWhere(MenuQuery query)
 {
     StringBuilder sbWhere = new StringBuilder(" JournalID = " + query.JournalID);
     if (query.GroupID > 0)
     {
         sbWhere.Append(" AND GroupID = ").Append(query.GroupID);
     }
     if (query.Status != null)
     {
         sbWhere.Append(" AND [Status] = ").Append(query.Status.Value);
     }
     return sbWhere.ToString();
 }
 /// <summary>
 /// 将查询实体转换为Order语句
 /// <param name="query">查询实体</param>
 /// <returns>获取Order语句,不包含Order</returns>
 /// </summary>
 public string MenuQueryToSQLOrder(MenuQuery query)
 {
     return " SortID ASC, MenuID ASC";
 }
 public ActionResult SetMenuStatus(byte Status,long[] IDAarry)
 {
     ExecResult execResult = new ExecResult();
     if (IDAarry != null && IDAarry.Length > 0)
     {
         MenuQuery menuQuery = new MenuQuery();
         menuQuery.JournalID = JournalID;
         menuQuery.Status = Status;
         menuQuery.MenuIDList = IDAarry.ToList<long>();
         ISiteSystemFacadeService siteSystemService = ServiceContainer.Instance.Container.Resolve<ISiteSystemFacadeService>();
         execResult = siteSystemService.UpdateMenuStatus(menuQuery);
     }
     else
     {
         execResult.result = EnumJsonResult.failure.ToString();
         execResult.msg = "请选择要设置的菜单";
     }
     return Content(JsonConvert.SerializeObject(execResult));
 }
 public IList<MenuEntity> GetMenuList(MenuQuery queryMenu)
 {
     IList<MenuEntity> listAllMenu = null;
     IMenuService menuService = ServiceContainer.Instance.Container.Resolve<IMenuService>();
     listAllMenu = menuService.GetMenuList(queryMenu);
     return listAllMenu;
 }
Exemple #9
0
 /// <summary>
 /// 分页获取符合查询条件的数据
 /// </summary>
 /// <param name="menuQuery">MenuQuery查询实体对象</param>
 /// <returns>Pager<MenuEntity></returns>
 public Pager<MenuEntity> GetMenuPageList(MenuQuery menuQuery)
 {
     return MenuBusProvider.GetMenuPageList(menuQuery);
 }
Exemple #10
0
 /// <summary>
 /// 获取所有符合查询条件的数据
 /// </summary>
 /// <param name="menuQuery">MenuQuery查询实体对象</param>
 /// <returns>List<MenuEntity></returns>
 public List<MenuEntity> GetMenuList(MenuQuery menuQuery)
 {
     return MenuBusProvider.GetMenuList(menuQuery);
 }
Exemple #11
0
 /// <summary>
 /// 获取所有符合查询条件的数据
 /// </summary>
 /// <param name="menuQuery">MenuQuery查询实体对象</param>
 /// <returns>List<MenuEntity></returns>
 public List<MenuEntity> GetMenuList(MenuQuery menuQuery)
 {
     return MenuDataAccess.Instance.GetMenuList(menuQuery);
 }
Exemple #12
0
 /// <summary>
 /// 更新菜单状态
 /// </summary>
 /// <param name="menuQuery"></param>
 /// <returns></returns>
 public bool UpdateStaus(MenuQuery menuQuery)
 {
     return MenuDataAccess.Instance.UpdateStaus(menuQuery);
 }
Exemple #13
0
        /// <summary>
        /// 查看
        /// </summary>
        /// <param name="MenuID"></param>
        /// <returns></returns>
        public ActionResult View(long? MenuID)
        {
            MenuEntity menuEntity = new MenuEntity();
            if (MenuID != null)
            {
                MenuQuery query = new MenuQuery();
                query.JournalID = JournalID;
                query.MenuID = MenuID.Value;

                ISiteSystemFacadeService siteSystemService = ServiceContainer.Instance.Container.Resolve<ISiteSystemFacadeService>();
                menuEntity = siteSystemService.GetMenu(query);
            }
            return View(menuEntity);
        }
 /// <summary>
 /// 获取指定菜单信息
 /// </summary>
 /// <param name="queryMenu"></param>
 /// <returns></returns>
 public MenuEntity GetMenu(MenuQuery queryMenu)
 {
     HttpClientHelper clientHelper = new HttpClientHelper();
     MenuEntity menuItem = clientHelper.PostAuth<MenuEntity, MenuQuery>(GetAPIUrl(APIConstant.SYSGETMENUENTITY), queryMenu);
     menuItem.MenuUrl = SiteConfig.RootPath + menuItem.MenuUrl;
     menuItem.IconUrl = SiteConfig.RootPath + menuItem.IconUrl;
     return menuItem;
 }
Exemple #15
0
 /// <summary>
 /// 更新菜单状态
 /// </summary>
 /// <param name="menuEntity"></param>
 /// <returns></returns>
 public bool UpdateStaus(MenuQuery menuQuery)
 {
     return MenuBusProvider.UpdateStaus(menuQuery);
 }
 /// <summary>
 /// 获取菜单列表
 /// </summary>
 /// <param name="query"></param>
 /// <returns></returns>
 public IList<TreeModel> GetTreeNodeList(MenuQuery query)
 {
     # region 找到内容菜单,添加栏目列表
Exemple #17
0
 public List<MenuEntity> GetMenuList(MenuQuery query)
 {
     List<MenuEntity> list = new List<MenuEntity>();
     StringBuilder sqlCommandText = new StringBuilder();
     sqlCommandText.Append("SELECT MenuID,JournalID,PMenuID,MenuName,MenuUrl,IconUrl,SortID,MenuType,GroupID,Status,IsContentMenu,AddDate FROM dbo.Menu WITH(NOLOCK)");
     string whereSQL = MenuQueryToSQLWhere(query);
     string orderBy=MenuQueryToSQLOrder(query);
     if(!string.IsNullOrEmpty(whereSQL)) sqlCommandText.Append(" WHERE " + whereSQL);
     if(!string.IsNullOrEmpty(orderBy)) sqlCommandText.Append(" ORDER BY " + orderBy);
     DbCommand cmd = db.GetSqlStringCommand(sqlCommandText.ToString());
     using(IDataReader dr = db.ExecuteReader(cmd))
     {
         list = MakeMenuList(dr);
     }
     return list;
 }
 public MenuEntity GetMenu(MenuQuery queryMenu)
 {
     IMenuService menuService = ServiceContainer.Instance.Container.Resolve<IMenuService>();
     MenuEntity menuEntity = menuService.GetMenu(queryMenu.MenuID);
     return menuEntity;
 }
Exemple #19
0
 public Pager<MenuEntity> GetMenuPageList(MenuQuery query)
 {
     int recordCount=0;
     string whereSQL=MenuQueryToSQLWhere(query);
     string orderBy=MenuQueryToSQLOrder(query);
     DataSet ds = db.GetPagingData("Menu", "MenuID,JournalID,PMenuID,MenuName,MenuUrl,IconUrl,SortID,MenuType,GroupID,Status,IsContentMenu,AddDate", orderBy, whereSQL, query.CurrentPage, query.PageSize, out recordCount);
     Pager<MenuEntity>  pager=new Pager<MenuEntity>();
     if(ds!=null && ds.Tables.Count>0)
     {
          pager.ItemList= MakeMenuList(ds.Tables[0]);
     }
     pager.CurrentPage=query.CurrentPage;
     pager.PageSize=query.PageSize;
     pager.TotalRecords=recordCount;
     return pager;
 }
 public ExecResult UpdateMenuStatus(MenuQuery menuQuery)
 {
     ExecResult execResult = new ExecResult();
     try
     {
         IMenuService menuService = ServiceContainer.Instance.Container.Resolve<IMenuService>();
         menuService.UpdateStaus(menuQuery);
         execResult.result = EnumJsonResult.success.ToString();
         execResult.msg = "更新成功";
     }
     catch (Exception ex)
     {
         execResult.result = EnumJsonResult.error.ToString();
         execResult.msg = "更新菜单状态出现异常:" + ex.Message;
     }
     return execResult;
 }
Exemple #21
0
 public ActionResult GetMenuListAjax()
 {
     MenuQuery menuQuery = new MenuQuery();
     menuQuery.JournalID = JournalID;
     menuQuery.GroupID = CurAuthor.GroupID;
     menuQuery.Status = 1;
     ISiteSystemFacadeService siteSystemService = ServiceContainer.Instance.Container.Resolve<ISiteSystemFacadeService>();
     return Content(JsonConvert.SerializeObject(siteSystemService.GetTreeNodeList(menuQuery)));
 }