private static void DrawChild(TblAuthPermission row, MenuItem subList) { foreach (var childrow in LoggedUserInfo.WFM_MenuesPermissions.OrderBy(x => x.PermOrder).Where(x => x.ParentPerm == row.Iserial)) { var newmenu = new MenuItem { Text = LoggedUserInfo.CurrLang == 0 ? childrow.Aname : childrow.Ename, Tag = childrow.ReportServer, PermissionTyp = childrow.PermissionTyp, IsCheckable = childrow.PermissionTyp != "P", Name = childrow.Code, MenuLink = childrow.MenuLink }; DrawChild(childrow, newmenu); if (!subList.Contains(newmenu)) { subList.Add(newmenu); } } }
private void DrawMenus(ObservableCollection <TblAuthPermission> wfmMenuesPermissions) { var menulist = new MenuItem(); foreach (var tblAuthJobPermission in wfmMenuesPermissions.OrderBy(x => x.PermOrder).Where(x => x.ParentPerm == 0)) { var subList = new MenuItem(); foreach (var row in wfmMenuesPermissions.OrderBy(x => x.PermOrder).Where(x => x.ParentPerm == tblAuthJobPermission.Iserial)) { var newMenu = new MenuItem { Tag = row.ReportServer, Text = LoggedUserInfo.CurrLang == 0 ? row.Aname : row.Ename, PermissionTyp = row.PermissionTyp, Name = row.Code, IsCheckable = row.PermissionTyp != "M" }; DrawChild(row, newMenu); if (!subList.Contains(newMenu)) { subList.Add(newMenu); } } menulist.Add(new MenuItem { Tag = tblAuthJobPermission.ReportServer, Text = LoggedUserInfo.CurrLang == 0 ? tblAuthJobPermission.Aname : tblAuthJobPermission.Ename, PermissionTyp = tblAuthJobPermission.PermissionTyp, Name = tblAuthJobPermission.Code, IsCheckable = tblAuthJobPermission.PermissionTyp != "M", MenuItems = subList, }); } _mvvmMenuItem.MenuItems = menulist; }