예제 #1
0
        private ContextMenu CreateContextMenu(ConfigurationNode configurationNode, IUICommandService commandService)
        {
            MenuItem newMenuItem    = CreateNewMenuItem();
            MenuItem renameMenuItem = CreateRenameMenuItem(configurationNode);

            ContextMenu contextMenu = new ContextMenu(new MenuItem[] { newMenuItem, renameMenuItem });

            List <ConfigurationMenuItem> configurationMenuItems = QueryDynamicMenuItems(configurationNode, commandService);

            foreach (ConfigurationMenuItem menuItem in configurationMenuItems)
            {
                menuItem.Select += new EventHandler(OnMenuItemSelect);

                switch (menuItem.InsertionPoint)
                {
                case InsertionPoint.Action:
                    contextMenu.MenuItems.Add(menuItem);
                    break;

                case InsertionPoint.New:
                    newMenuItem.MenuItems.Add(menuItem);
                    break;
                }
            }

            if (newMenuItem.MenuItems.Count == 0)
            {
                newMenuItem.Enabled = false;
            }

            return(contextMenu);
        }
예제 #2
0
        /// <summary>
        /// Gets the registered <see cref="IUICommandService"/>.
        /// </summary>
        /// <param name="serviceProvider">
        /// The a mechanism for retrieving a service object; that is, an object that provides custom support to other objects.
        /// </param>
        /// <returns>The registered <see cref="IUICommandService"/>.</returns>
        public static IUICommandService GetUICommandService(IServiceProvider serviceProvider)
        {
            if (null == serviceProvider)
            {
                throw new ArgumentNullException("serviceProvider");
            }

            IUICommandService menuService = serviceProvider.GetService(typeof(IUICommandService)) as IUICommandService;

            return(menuService);
        }
예제 #3
0
        private void treeView_AfterSelect(object sender, TreeViewEventArgs e)
        {
            ConfigurationTreeNode selectedNode = treeView.SelectedNode as ConfigurationTreeNode;

            if (selectedNode != null)
            {
                ConfigurationNode selectedConfigurationNode = selectedNode.ConfigurationNode;

                IUICommandService commandService = ServiceHelper.GetUICommandService(serviceProvider);
                treeView.ContextMenu = CreateContextMenu(selectedConfigurationNode, commandService);
            }
            RefreshPropertyGrid();
        }
        public ReceiveMessagesFactory(IRequisicaoService requisicaoService, IUICommandService uiCommandService,
                                      IConfigurationService configurationService)
        {
            _requisicaoService    = requisicaoService;
            _uiCommandService     = uiCommandService;
            _configurationService = configurationService;
            CreateNew("StoreCatalogReadyMessage", Subscription);
            CreateNew("UserRetrieved", Subscription);

            var url = _configurationService.GetConfigValue(typeof(string), "StoreCatalogUri").ToString();

            Uri.TryCreate(url, UriKind.RelativeOrAbsolute, out Uri uri);
            _requisicaoService.GetAsync(uri, "storeMoc", $"?StoreId={Guid.NewGuid()}&Ready=true");
        }
        public void CategoryTraceSourceCommandTextEqualsCategory()
        {
            bool categoryTraceSourceCommandFound = false;
            IUICommandService commandService     = ServiceHelper.GetUICommandService(ServiceProvider);

            commandService.ForEach(typeof(CategoryTraceSourceCollectionNode), delegate(ConfigurationUICommand command)
            {
                if (command.Text == "Category")
                {
                    categoryTraceSourceCommandFound = true;
                }
            });
            Assert.IsTrue(categoryTraceSourceCommandFound);
        }
예제 #6
0
        public ReceiveMessagesService(IUICommandService uiCommandService, IRequisicaoService requisicaoService,
                                      IConfigurationService configurationService, string topic, string subscription,
                                      string filterName = null, string filter = null)
        {
            _configuration = new ConfigurationBuilder()
                             .SetBasePath(Directory.GetCurrentDirectory())
                             .AddJsonFile("appsettings.json")
                             .Build();

            _configurationService    = configurationService;
            _serviceBusConfiguration = _configuration.GetSection("serviceBus").Get <ServiceBusConfiguration>();
            _uiCommandService        = uiCommandService;
            _requisicaoService       = requisicaoService;
            _topicName        = topic;
            _subscriptionName = subscription;
            ReceiveMessages(filterName, filter);
        }
예제 #7
0
        private static List <ConfigurationMenuItem> QueryDynamicMenuItems(ConfigurationNode configurationNode, IUICommandService commandService)
        {
            List <ConfigurationMenuItem> configurationMenuItems = new List <ConfigurationMenuItem>();

            commandService.ForEach(configurationNode.GetType(), delegate(ConfigurationUICommand command)
            {
                configurationMenuItems.Add(new ConfigurationMenuItem(configurationNode, command));
            });

            configurationMenuItems.Sort(delegate(ConfigurationMenuItem lhs, ConfigurationMenuItem rhs)
            {
                return(lhs.Text.CompareTo(rhs.Text));
            });

            return(configurationMenuItems);
        }
예제 #8
0
        /// <summary>
        /// Add a <see cref="ConfigurationUICommand"/> object to the <see cref="IUICommandService"/>.
        /// </summary>
        /// <param name="uiCommand">The <see cref="ConfigurationUICommand"/> to add.</param>
        /// <param name="registerType">The <see cref="Type"/> the command is registered.</param>
        protected void AddUICommand(ConfigurationUICommand uiCommand, Type registerType)
        {
            IUICommandService commandService = ServiceHelper.GetUICommandService(serviceProvider);

            commandService.AddCommand(registerType, uiCommand);
        }