Example #1
0
 private void InitializeEventHandlers()
 {
     agentEventHandler    = new AgentEventHandler(logger, this, tenantIOService);
     tenantEventHandler   = new TenantEventHandler(logger, this, tenantIOService);
     producerEventHandler = new ProducerEventHandler(logger, this, producerIOService);
     consumerEventHandler = new ConsumerEventHandler(logger, this, consumerIOService, messageIOService);
     messageEventHandler  = new MessageEventHandler(logger, this, messageIOService);
 }
        private void AddHandlerButtonClick(object sender, EventArgs e)
        {
            if (null != ConfigurationTreeView.SelectedNode)
            {
                if (null != ConfigurationTreeView.SelectedNode.Tag)
                {
                    IHandler handler = (IHandler)
                                       Activator.CreateInstance(AvailableHandlersTreeView.SelectedNode.Tag.GetType());

                    if (ConfigurationTreeView.SelectedNode.Tag is IAgentEventHandler)
                    {
                        IAgentEventHandler eventHandler = (IAgentEventHandler)ConfigurationTreeView.SelectedNode.Tag;

                        if (eventHandler.Handlers.IsReadOnly)
                        {
                            eventHandler.Handlers = new List <IHandler>(eventHandler.Handlers);
                        }

                        eventHandler.Handlers.Add(handler);
                        ConfigurationTreeView.SelectedNode.Nodes.Add(TreeNodeMapper.MapHandler(handler));
                    }
                    else if (ConfigurationTreeView.SelectedNode.Tag is IList <IAgentEventHandler> )
                    {
                        IList <IAgentEventHandler> eventHandlers =
                            (IList <IAgentEventHandler>)ConfigurationTreeView.SelectedNode.Tag;

                        if (eventHandlers.IsReadOnly)
                        {
                            eventHandlers = new List <IAgentEventHandler>(eventHandlers);
                            ConfigurationTreeView.SelectedNode.Tag = eventHandlers;
                        }

                        IAgentEventHandler eventHandler = new AgentEventHandler();
                        eventHandler.Handlers.Add(handler);

                        eventHandlers.Add(eventHandler);
                        ConfigurationTreeView.SelectedNode.Nodes.Add(TreeNodeMapper.MapAgentEventHandler(eventHandler));
                    }
                    else if (ConfigurationTreeView.SelectedNode.Tag is IHandler)
                    {
                        IHandler parentHandler = (IHandler)ConfigurationTreeView.SelectedNode.Tag;

                        if (parentHandler.Handlers.IsReadOnly)
                        {
                            parentHandler.Handlers = new List <IHandler>(parentHandler.Handlers);
                        }

                        parentHandler.Handlers.Add(handler);
                        ConfigurationTreeView.SelectedNode.Nodes.Add(TreeNodeMapper.MapHandler(handler));
                    }
                }
            }
        }