private void InitializeContextMenuForEachProjectNode() { if (projectTreeNodeContextMenuStrip.Items.Count == 0) { var allPrioritiesQuery = new AllProjectPrioritiesQuery(); var priorityQueryHandler = new ProjectPriorityQueryHandler(); List <string> priorities = priorityQueryHandler.Handle(allPrioritiesQuery); if (priorities.Any()) { var priorityLabel = new ToolStripLabel("Priority"); priorityLabel.Enabled = false; projectTreeNodeContextMenuStrip.Items.Insert(0, priorityLabel); projectTreeNodeContextMenuStrip.Items.Insert(1, new ToolStripSeparator()); foreach (var priority in priorities) { var priorityMenuItem = new ToolStripMenuItem(priority); priorityMenuItem.Name = priority; projectTreeNodeContextMenuStrip.Items.Add(priorityMenuItem); } projectTreeNodeContextMenuStrip.ItemClicked += projectTreeNodeContextMenuStrip_ItemClicked; } } foreach (var node in projectTree.Nodes) { var treeNode = ((TreeNode)node); if (treeNode.ContextMenuStrip == null) { treeNode.ContextMenuStrip = projectTreeNodeContextMenuStrip; } } }
public List <string> Handle(AllProjectPrioritiesQuery query) { ProjectPriority[] priorities = ProjectPriority.GetAll(); return(priorities.Select(x => x.DisplayName).ToList()); }