public async Task <JsonResult> GetMenuByParentId(SystemMenuGetMenuByParentIdInput input) { return(JsonForGridLoadOnce(await _menuLogic.GetMenuByParentId(input))); }
/// <summary> /// 获取显示在菜单列表上数据 /// </summary> /// <returns></returns> public async Task <IList <SystemMenuGetMenuByParentIdOutput> > GetMenuByParentId(SystemMenuGetMenuByParentIdInput input) { var menus = (await GetAllEnumerableAsync()).ToList(); IList <SystemMenuGetMenuByParentIdOutput> systemMenus = (await _menuRepository.GetMenuByParentId(input)).ToList(); foreach (var menu in systemMenus) { if (!menu.ParentIds.IsNullOrEmpty()) { foreach (var parent in menu.ParentIds.Split(',')) { //查找上级 var dicinfo = menus.FirstOrDefault(w => w.MenuId.ToString() == parent); if (dicinfo != null) { menu.ParentNames += dicinfo.Name + ">"; } } if (!menu.ParentNames.IsNullOrEmpty()) { menu.ParentNames = menu.ParentNames.TrimEnd('>'); } } } return(systemMenus.OrderBy(o => o.ParentNames).ToList()); }
/// <summary> /// 根据 /// </summary> /// <param name="input"></param> /// <returns></returns> public Task <IEnumerable <SystemMenuGetMenuByParentIdOutput> > GetMenuByParentId(SystemMenuGetMenuByParentIdInput input) { var sql = new StringBuilder(); sql.Append("select *,(select name from System_Menu o where o.MenuId=menu.ParentId) ParentName from System_Menu menu Where 1=1 "); if (input.Id != null) { sql.Append(" And menu.ParentIds like '%" + (input.Id + ",").Replace(",", @"\,") + "%" + "' escape '\\'"); } sql.Append(input.Sql); return(SqlMapperUtil.SqlWithParams <SystemMenuGetMenuByParentIdOutput>(sql.ToString(), new { pId = input.Id })); }