public string GetRoleMenuJsonString(long id) { var allMenus = (IEnumerable <CheckedMenu>)ApplicationConfigHelper.GetRoleMenus(0); IList <CheckedMenu> returnMenus = new List <CheckedMenu>(); allMenus.Each((i, menu) => { var innerMenu = new CheckedMenu(menu); returnMenus.Add(innerMenu); }); if (id != 0) { var roleMens = ApplicationConfigHelper.GetRoleMenus(id); if (roleMens != null && roleMens.Any()) { returnMenus.Each((i, menu) => { if (roleMens.Any(m => m.ID == menu.ID)) { menu.IsChecked = true; } }); } } return(returnMenus.Select(cm => { var treeItem = new TreeItem(cm); treeItem.open = true; return treeItem; }).ToJsonString()); }
public TreeItem(CheckedMenu menu) { this.id = menu.ID; this.pId = menu.SuperID; this.name = menu.Name; this.open = menu.IsOpen; this.isChecked = menu.IsChecked; }
public ActionResult RoleMenuMapping(long?id) { RoleMenuMappingViewModel vm = new RoleMenuMappingViewModel(); vm.RoleID = id.GetValueOrDefault(0); vm.Roles = ApplicationConfigHelper.GetApplicationRoles().Where(r => r.State.Value).Select(r => new SelectListItem() { Text = r.Name, Value = r.ID.ToString(), Selected = r.ID == vm.RoleID }); var allMenus = (IEnumerable <CheckedMenu>)ApplicationConfigHelper.GetRoleMenus(0); IList <CheckedMenu> returnMenus = new List <CheckedMenu>(); allMenus.Each((i, menu) => { var innerMenu = new CheckedMenu(menu); returnMenus.Add(innerMenu); }); if (vm.RoleID != 0) { var roleMens = ApplicationConfigHelper.GetRoleMenus(vm.RoleID); if (roleMens != null && roleMens.Any()) { returnMenus.Each((i, menu) => { if (roleMens.Any(m => m.ID == menu.ID)) { menu.IsChecked = true; } }); } } vm.MenusForJsonString = returnMenus.Select(cm => { var treeItem = new TreeItem(cm); treeItem.open = true; return(treeItem); }).ToJsonString(); return(View(vm)); }