示例#1
0
 private void createIoTHubListenerMenuItem_Click(object sender, EventArgs e)
 {
     try
     {
         using (var parameterForm = new ParameterForm("Enter IoT Hub Connection String and Consumer Group", 
                                                      new List<string> {"IoT Hub Connection String", "Consumer Group"}, 
                                                      new List<string>{null, "$Default"},
                                                      new List<bool>{false, false}))
         {
             if (parameterForm.ShowDialog() != DialogResult.OK)
             {
                 return;
             }
             if (string.IsNullOrWhiteSpace(parameterForm.ParameterValues[0]))
             {
                 WriteToLog("The IoT Hub Connection string parameter cannot be null.");
                 return;
             }
             if (string.IsNullOrWhiteSpace(parameterForm.ParameterValues[1]))
             {
                 WriteToLog("The Consumer Group parameter cannot be null.");
                 return;
             }
             var form = new ContainerForm(this, parameterForm.ParameterValues[0], parameterForm.ParameterValues[1]);
             form.Show();
         }
     }
     catch (Exception ex)
     {
         HandleException(ex);
     }
 }
 private void ListenerControl_Load(object sender, EventArgs e)
 {
     Control control = this;
     parentForm = control.Parent;
     while (parentForm != null && !(parentForm is Form))
     {
         parentForm = parentForm.Parent;
     }
     if (parentForm is ContainerForm)
     {
         containerForm = parentForm as ContainerForm;
     }
 }
示例#3
0
        private void openMetrics_Click(object sender, EventArgs e)
        {
            if (string.IsNullOrWhiteSpace(subscriptionId))
            {
                WriteToLog(SubscriptionIdCannotBeNull, false);
                return;
            }
            if (string.IsNullOrWhiteSpace(certificateThumbprint))
            {
                WriteToLog(ManagementCertificateThumbprintCannotBeNull, false);
                return;
            }
            if (sender is ToolStripMenuItem &&
                ((ToolStripMenuItem)sender).Text == metricsSDIMenuItem.Text)
            {
                MetricMonitorControl metricMonitorControl = null;

                try
                {
                    panelMain.SuspendDrawing();
                    panelMain.Controls.Clear();
                    panelMain.BackColor = SystemColors.GradientInactiveCaption;
                    panelMain.HeaderText = MetricsHeader;
                    metricMonitorControl = new MetricMonitorControl(WriteToLog, serviceBusHelper, null, null, null);
                    metricMonitorControl.SuspendDrawing();
                    metricMonitorControl.Location = new Point(1, panelLog.HeaderHeight + 1);
                    panelMain.Controls.Add(metricMonitorControl);
                    SetControlSize(metricMonitorControl);
                }
                catch (Exception ex)
                {
                    HandleException(ex);
                }
                finally
                {
                    panelMain.ResumeDrawing();
                    if (metricMonitorControl != null)
                    {
                        metricMonitorControl.ResumeDrawing();
                    }
                }
            }
            else
            {
                var form = new ContainerForm(serviceBusHelper, this);
                form.Show();
            }
        }
示例#4
0
        private void sendMessage_Click(object sender, EventArgs e)
        {
            try
            {
                if (serviceBusTreeView.SelectedNode != null)
                {
                    ContainerForm form = null;
                    if (serviceBusTreeView.SelectedNode.Tag == null)
                    {
                        return;
                    }
                    // Queue Node
                    if (serviceBusTreeView.SelectedNode.Tag is QueueDescription)
                    {
                        var queueDescription = serviceBusTreeView.SelectedNode.Tag as QueueDescription;
                        form = new ContainerForm(serviceBusHelper, this, FormTypeEnum.Send, queueDescription);
                    }

                    // Topic Node
                    if (serviceBusTreeView.SelectedNode.Tag is TopicDescription)
                    {
                        var topicDescription = serviceBusTreeView.SelectedNode.Tag as TopicDescription;
                        var subscriptionList = new List<SubscriptionDescription>();
                        if (serviceBusTreeView.SelectedNode.Nodes.ContainsKey(SubscriptionEntities))
                        {
                            var subscriptionsNode = serviceBusTreeView.SelectedNode.Nodes[SubscriptionEntities];
                            if (subscriptionsNode != null &&
                                subscriptionsNode.Nodes.Count > 0)
                            {
                                for (var i = 0; i < subscriptionsNode.Nodes.Count; i++)
                                {
                                    var wrapper = subscriptionsNode.Nodes[i].Tag as SubscriptionWrapper;
                                    if (wrapper != null &&
                                        wrapper.SubscriptionDescription != null)
                                    {
                                        subscriptionList.Add(wrapper.SubscriptionDescription);
                                    }
                                }
                            }
                        }

                        form = new ContainerForm(serviceBusHelper, this, FormTypeEnum.Send, topicDescription, subscriptionList);
                    }

                    // EventHub Node
                    if (serviceBusTreeView.SelectedNode.Tag is EventHubDescription)
                    {
                        var eventHubDescription = serviceBusTreeView.SelectedNode.Tag as EventHubDescription;
                        form = new ContainerForm(serviceBusHelper, this, eventHubDescription);
                    }

                    // Event Hub Partition
                    if (serviceBusTreeView.SelectedNode.Tag is PartitionDescription)
                    {
                        var partitionDescription = serviceBusTreeView.SelectedNode.Tag as PartitionDescription;
                        try
                        {
                            var eventHubNode = serviceBusTreeView.SelectedNode.Parent.Parent.Parent.Parent;
                            if (eventHubNode != null && eventHubNode.Tag is EventHubDescription)
                            {
                                var eventHubDescription = eventHubNode.Tag as EventHubDescription;
                                form = new ContainerForm(serviceBusHelper, this, eventHubDescription, partitionDescription);
                            }
                        }
                        // ReSharper disable once EmptyGeneralCatchClause
                        catch (Exception)
                        {
                        }
                    }

                    if (form != null)
                    {
                        form.Show();
                    }
                }
            }
            catch (Exception ex)
            {
                HandleException(ex);
            }
        }
示例#5
0
        private void TestRelay(RelayDescription relayDescription, bool sdi)
        {
            if (sdi)
            {
                TestRelayControl relayServiceControl = null;

                try
                {
                    panelMain.SuspendDrawing();
                    foreach (var userControl in panelMain.Controls.OfType<UserControl>())
                    {
                        userControl.Dispose();
                    }
                    panelMain.Controls.Clear();
                    panelMain.BackColor = SystemColors.GradientInactiveCaption;
                    relayServiceControl = new TestRelayControl(this,
                                                               WriteToLog,
                                                               StopLog,
                                                               StartLog,
                                                               relayDescription,
                                                               serviceBusHelper);
                    relayServiceControl.SuspendDrawing();
                    relayServiceControl.Location = new Point(1, panelLog.HeaderHeight + 1);
                    panelMain.Controls.Add(relayServiceControl);
                    SetControlSize(relayServiceControl);
                    relayServiceControl.OnCancel += MainForm_OnCancel;
                }
                catch (Exception ex)
                {
                    HandleException(ex);
                }
                finally
                {
                    panelMain.ResumeDrawing();
                    if (relayServiceControl != null)
                    {
                        relayServiceControl.ResumeDrawing();
                    }
                }
            }
            else
            {
                var form = new ContainerForm(serviceBusHelper, this, relayDescription);
                form.Show();
            }
        }
示例#6
0
        private void TestTopic(TopicDescription topicDescription, List<SubscriptionDescription> subscriptionList, bool sdi)
        {
            if (sdi)
            {
                TestTopicControl topicControl = null;

                try
                {
                    panelMain.SuspendDrawing();
                    foreach (var userControl in panelMain.Controls.OfType<UserControl>())
                    {
                        userControl.Dispose();
                    }
                    panelMain.Controls.Clear();
                    panelMain.BackColor = SystemColors.GradientInactiveCaption;
                    topicControl = new TestTopicControl(this,
                                                        WriteToLog,
                                                        StopLog,
                                                        StartLog,
                                                        serviceBusHelper,
                                                        topicDescription,
                                                        subscriptionList);
                    topicControl.SuspendDrawing();
                    topicControl.Location = new Point(1, panelLog.HeaderHeight + 1);
                    panelMain.Controls.Add(topicControl);
                    SetControlSize(topicControl);
                    topicControl.OnCancel += MainForm_OnCancel;
                }
                catch (Exception ex)
                {
                    HandleException(ex);
                }
                finally
                {
                    panelMain.ResumeDrawing();
                    if (topicControl != null)
                    {
                        topicControl.ResumeDrawing();
                    }
                }
            }
            else
            {
                var form = new ContainerForm(serviceBusHelper, this, FormTypeEnum.Test, topicDescription, subscriptionList);
                form.Show();
            }
        }
示例#7
0
        private void createEntityListenerMenuItem_Click(object sender, EventArgs e)
        {
            try
            {
                if (serviceBusTreeView.SelectedNode == null || ServiceBusTreeView.SelectedNode.Tag == null)
                {
                    return;
                }

                // QueueDescription Node
                if (serviceBusTreeView.SelectedNode.Tag is QueueDescription)
                {
                    var queueDescription = serviceBusTreeView.SelectedNode.Tag as QueueDescription;
                    var form = new ContainerForm(serviceBusHelper, this, FormTypeEnum.Listener, queueDescription);
                    form.Show();
                    return;
                }

                // SubscriptionDescription Node
                if (serviceBusTreeView.SelectedNode.Tag is SubscriptionWrapper)
                {
                    var subscriptionWrapper = serviceBusTreeView.SelectedNode.Tag as SubscriptionWrapper;
                    var form = new ContainerForm(serviceBusHelper, this, FormTypeEnum.Listener, subscriptionWrapper);
                    form.Show();
                }

                // ConsumerGroup Node
                if (serviceBusTreeView.SelectedNode.Tag is ConsumerGroupDescription)
                {
                    var consumerGroupPartition = serviceBusTreeView.SelectedNode.Tag as ConsumerGroupDescription;
                    var form = new ContainerForm(serviceBusHelper, this, consumerGroupPartition, GetPartitionsFromConsumerGroup(serviceBusTreeView.SelectedNode));
                    form.Show();
                }

                // PartitionDescription Node
                if (serviceBusTreeView.SelectedNode.Tag is PartitionDescription)
                {
                    var consumerGroupPartition = serviceBusTreeView.SelectedNode.Parent.Parent.Tag as ConsumerGroupDescription;
                    var partitionDescription = serviceBusTreeView.SelectedNode.Tag as PartitionDescription;
                    var form = new ContainerForm(serviceBusHelper, this, consumerGroupPartition, new[] { partitionDescription });
                    form.Show();
                }
            }
            catch (Exception ex)
            {
                HandleException(ex);
            }
        }