public void Execute()
 {
     Service.Instance.AllowedPermissions.AddRange(new[] { "Inventory Viewer", "Inventory Entry" });
     var menu = new InvMenu{Name = "Inventory", RequiredPermission = new[] {"Inventory Viewer"}};
     var inventory = new MenuEntry {Name = "List Inventory"};
     inventory.Execute += () => Service.Instance.ActivePage = new Inventory();
     menu.Entries.Add(inventory);
     Service.Instance.MainMenu.SubMenus.Add(menu);
 }
 public void Execute()
 {
     Service.Instance.AllowedPermissions.AddRange(new[] {"Systems Viewer", "Systems Entry"});
     var menu = new InvMenu {Name = "Systems Entry", RequiredPermission = new[] {"Systems Viewer"}};
     var addSystem = new MenuEntry {Name = "Add System", RequiredPermission = new[] {"Systems Entry"}};
     addSystem.Execute += () => Service.Instance.ActivePage = new SystemsInventory();
     var listSystems = new MenuEntry { Name = "List Systems", RequiredPermission = new[] { "Systems Viewer" } };
     listSystems.Execute += () => Service.Instance.ActivePage = new ListInventory();
     menu.Entries.Add(addSystem);
     menu.Entries.Add(listSystems);
     Service.Instance.MainMenu.SubMenus.Add(menu);
 }
        private void FillMenu(InvMenu invMenu)
        {
            var menuObj = invMenu ?? Service.Instance.MainMenu;

            foreach (var subMenu in menuObj.SubMenus.Where(EvaluatePermissions)) {
                var bar = new TreeNode(subMenu.Name);
                foreach (var newNode in subMenu.Entries.Where(EvaluatePermissions)) {
                    var item = new TreeNode(newNode.Name);
                    item.Tag = newNode;
                    bar.Nodes.Add(item);
                }
                treeView1.Nodes.Add(bar);
            }
        }
        private Service()
        {
            AllowedPermissions = new List<string> {"Administrator", "User"};
            Importers = new Dictionary<string, IImport>();
            Exporters = new Dictionary<string, IExport>();

            MainMenu = new InvMenu {Name = "Main Menu"};

            MainMenu.SubMenus.Add(new InvMenu { Name = "Administration", RequiredPermission = new[] { "Administrator" } });

            var loginSettings = new MenuEntry {Name = "User Management"};
            loginSettings.Execute += () => ActivePage = new BuiltIns.UserManagement();
            var highlighterColorsSettings = new MenuEntry { Name = "Highlighter Colors" };
            highlighterColorsSettings.Execute += () => ActivePage = new BuiltIns.HighlighterColors();
            var templateSettings = new MenuEntry { Name = "Template Editor" };
            templateSettings.Execute += () => ActivePage = new BuiltIns.TemplateEditor();
            MainMenu.SubMenus[0].Entries.Add(loginSettings);
            MainMenu.SubMenus[0].Entries.Add(highlighterColorsSettings);
            MainMenu.SubMenus[0].Entries.Add(templateSettings);
        }
 private bool EvaluatePermissions(InvMenu v)
 {
     return v.RequiredPermission == null || Service.Instance.HasPermission(v.RequiredPermission);
 }