public async static Task <HashSet <JsonMenu> > GetAllMenuItems(IEnumerable <AuthroziedFeatureInfo> items) { var menuITems = new HashSet <JsonMenu>(); foreach (var item in items) { var feature = item.Feature; var children = FeatureSecurityFilter.GetAuthorizedFeatures(Context.Current.User(), parent: feature); var sumMenu = new JsonMenu { ID = item.Feature.ID, Icon = item.Feature.Icon, Title = item.Feature.Title, LoadUrl = item.AddQueryString(), LogicalPath = feature.ToString(), UseIframe = item.Feature.UseIframe }; if (children.Any()) { sumMenu.Children = await GetAllMenuItems(children); } menuITems.Add(sumMenu); } return(menuITems); }
public int Calculate(JsonMenu menu) { // calculate the sum of IDs var idSum = 0; foreach (var menuItem in menu.items) { // skip if no label if (string.IsNullOrEmpty(menuItem?.label)) { continue; } idSum += menuItem.id; } return(idSum); }
static XElement CreateSubLink(JsonMenu subItem, string color) { var subLink = new XElement("a", subItem.Title, new XAttribute("id", subItem.LogicalPath), new XAttribute("href", subItem.LoadUrl)); var subIcon = new XElement("i", string.Empty); subIcon.Add(new XAttribute("style", $"color:{color};")); if (subItem.Icon != null) { subIcon.Add(new XAttribute("class", subItem.Icon)); } subLink.Add(subIcon); return(subLink); }
public ActionResult CreateMenu(string data) { string accessToken = AccessTokenContainer.TryGetToken(ConfigSettings.TestWeixinAppID, ConfigSettings.TestWeixinAppSecret); JsonMenu jsonMenu = JsonConvert.DeserializeObject <JsonMenu>(data); MenuJsonResult jsonResult = new MenuJsonResult { menu = jsonMenu }; jsonResult = CommonApi.GetMenuFromJsonResult(jsonResult); WxJsonResult result = CommonApi.CreateMenu(accessToken, jsonResult.Buttons); if (result.errcode == WeixinReturnCode.Success) { return(Content("ok")); } else { return(Content("error")); } }
static void AddChildItems(JsonMenu subItem, string color, XElement parent) { if (subItem.Children == null || subItem.Children.None()) { return; } var ul2 = new XElement("ul"); subItem.Children .ToList() .ForEach(subItem2 => { var li2 = new XElement("li"); var subLink2 = CreateSubLink(subItem2, color); li2.Add(subLink2); ul2.Add(li2); }); parent.Add(ul2); }
private void GoUp(object sender, RoutedEventArgs e) { if (navigationStack.Count > 1) { navigationStack.Pop(); currentNode = navigationStack.Peek(); LoadCurrentMenuItems(); ShowNavigationTree(); } }
private void GoDown(object sender, RoutedEventArgs e) { currentNode = currentNode.children[menuItemsList.SelectedIndex]; navigationStack.Push(currentNode); if (currentNode.children != null) { LoadCurrentMenuItems(); ShowNavigationTree(); } else { Process process = Process.GetProcessesByName(playerProcessName).FirstOrDefault(); if (currentNode.action != null && process != null) { IntPtr processWindowHandler = process.MainWindowHandle; SetForegroundWindow(processWindowHandler); ShowWindow(processWindowHandler, 3); System.Windows.Forms.SendKeys.SendWait(currentNode.action.qwertyKey); } navigationStack.Pop(); currentNode = navigationStack.Peek(); } }