public List <MenuResponse> GetMenusByChkUserId(int userId, int appId) { var menus = UserNavigationFunctionDbAction.GetMenuFunctions(new List <int>() { userId }, appId); List <MenuResponse> topMenus = new List <MenuResponse>(); foreach (var fun in menus) { GetTopMenu(fun, menus, topMenus); } foreach (var menu in topMenus) { SetChildren(menus, menu); } return(topMenus); }
public List <MenuResponse> GetMenuByUserId(int userId, int appId, out List <RoleResponse> roles) { roles = UserManagerDb.GetRolesByUserId(userId); List <MenuResponse> menus = null; if (CommonAction.IsSysAdmin(userId)) { menus = RoleNavigationFunctionDbAction.GetAdminMenu(appId); } else { menus = new List <MenuResponse>(); menus.AddRange(RoleNavigationFunctionDbAction.GetMenuFunctions(roles.Select(n => n.RoleId).ToList(), appId)); menus.AddRange(UserNavigationFunctionDbAction.GetMenuFunctions(new List <int> { userId }, appId)); menus = menus.Where((i, j) => menus.FindIndex(f => f.Id == i.Id) == j).ToList(); } //var menus = CommonAction.IsSysAdmin(userId) // ? RoleNavigationFunctionDbAction.GetAdminMenu(appId) // : RoleNavigationFunctionDbAction.GetMenuFunctions(roles.Select(n => n.RoleId).ToList(), appId); var topMenus = new List <MenuResponse>(); foreach (var fun in menus) { GetTopMenu(fun, menus, topMenus); } foreach (var menu in topMenus) { SetChildren(menus, menu); } return(topMenus); }