Пример #1
0
        public virtual void InstallPagesCommandWidgets()
        {
            var configManager = ConfigManager.GetManager();

            using (new ElevatedModeRegion(configManager))
            {
                ContentViewConfig config;
                var masterView = ConfigurationsHelper.GetContentViewElement <MasterGridViewElement>(configManager,
                                                                                                    "FrontendPages", "FrontendPagesListView",
                                                                                                    out config);

                // TreeTable
                var actionsMenuElements = ConfigurationsHelper.GetActionsMenuItems(masterView, "TreeTable");

                bool   needSaveChanges = false;
                string commandName     = "unlockPageCustom";

                var command = actionsMenuElements.Elements
                              .Where(e => e.WidgetType == typeof(CommandWidget) &&
                                     ((CommandWidgetElement)e).CommandName == commandName)
                              .FirstOrDefault();

                if (command == null)
                {
                    var commandWidget = ConfigurationsHelper.CreateCommandWidgetElement(actionsMenuElements, string.Empty,
                                                                                        commandName, "UnlockPage", "Unlock page");
                    actionsMenuElements.Add(commandWidget);
                    needSaveChanges = true;
                }

                // ListView
                var actionsMenuItemsElementList = ConfigurationsHelper.GetActionsMenuItems(masterView, "Grid");

                var commandList = actionsMenuItemsElementList.Elements
                                  .Where(e => e.WidgetType == typeof(CommandWidget) &&
                                         ((CommandWidgetElement)e).CommandName == commandName)
                                  .FirstOrDefault();

                if (commandList == null)
                {
                    var commandWidget = ConfigurationsHelper.CreateCommandWidgetElement(actionsMenuItemsElementList, string.Empty,
                                                                                        commandName, "UnlockPage", "Unlock page");
                    actionsMenuItemsElementList.Add(commandWidget);
                    needSaveChanges = true;
                }

                if (needSaveChanges)
                {
                    configManager.SaveSection(config);
                }
            }
        }