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; }
/// <summary> /// 分页获取符合查询条件的数据 /// </summary> /// <param name="menuQuery">MenuQuery查询实体对象</param> /// <returns>Pager<MenuEntity></returns> public Pager<MenuEntity> GetMenuPageList(MenuQuery menuQuery) { return MenuBusProvider.GetMenuPageList(menuQuery); }
/// <summary> /// 获取所有符合查询条件的数据 /// </summary> /// <param name="menuQuery">MenuQuery查询实体对象</param> /// <returns>List<MenuEntity></returns> public List<MenuEntity> GetMenuList(MenuQuery menuQuery) { return MenuBusProvider.GetMenuList(menuQuery); }
/// <summary> /// 获取所有符合查询条件的数据 /// </summary> /// <param name="menuQuery">MenuQuery查询实体对象</param> /// <returns>List<MenuEntity></returns> public List<MenuEntity> GetMenuList(MenuQuery menuQuery) { return MenuDataAccess.Instance.GetMenuList(menuQuery); }
/// <summary> /// 更新菜单状态 /// </summary> /// <param name="menuQuery"></param> /// <returns></returns> public bool UpdateStaus(MenuQuery menuQuery) { return MenuDataAccess.Instance.UpdateStaus(menuQuery); }
/// <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; }
/// <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 找到内容菜单,添加栏目列表
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; }
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; }
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))); }