/// <summary> /// 根据菜单Id获取数据权限规则 /// </summary> /// <param name="input"></param> /// <returns></returns> public async Task <IEnumerable <SystemDataOutput> > GetDataByMenuId(SystemDataGetDataByMenuIdInput input) { var datas = (await _dataRepository.GetDataByMenuId(input)).ToList(); var menus = (await _menuRepository.FindAllAsync()).ToList(); foreach (var item in datas) { var menu = menus.FirstOrDefault(w => w.MenuId == item.MenuId); if (menu != null && !menu.ParentIds.IsNullOrEmpty()) { foreach (var parent in menu.ParentIds.Split(',')) { //查找上级 var dicinfo = menus.FirstOrDefault(w => w.MenuId.ToString() == parent); if (dicinfo != null) { item.MenuNames += dicinfo.Name + ">"; } } if (!item.MenuNames.IsNullOrEmpty()) { item.MenuNames = item.MenuNames.TrimEnd('>'); } } } return(datas); }
/// <summary> /// 根据菜单id获取数据权限定义 /// </summary> /// <param name="input">菜单id</param> /// <returns></returns> public Task <IEnumerable <SystemDataOutput> > GetDataByMenuId(SystemDataGetDataByMenuIdInput input = null) { var sql = new StringBuilder( "SELECT data.*,menu.Name MenuName FROM System_Data data LEFT JOIN System_Menu menu ON data.MenuId=menu.MenuId WHERE 1=1"); if (input != null) { sql.Append(input.Sql); if (!input.Id.IsNullOrEmptyGuid()) { sql.Append(" AND data.MenuId=@menuId"); return(SqlMapperUtil.SqlWithParams <SystemDataOutput>(sql.ToString(), new { menuId = input.Id })); } } sql.Append(" ORDER BY data.OrderNo"); return(SqlMapperUtil.SqlWithParams <SystemDataOutput>(sql.ToString())); }
public async Task <JsonResult> GetDataByMenuId(SystemDataGetDataByMenuIdInput input = null) { return(JsonForGridLoadOnce(await _dataLogic.GetDataByMenuId(input))); }