void timer_Elapsed(object sender, System.Timers.ElapsedEventArgs e)
{
// Initialize property grid
var propertyList = new List<string[]>();
if (entityDescription is QueueDescription)
{
var queueDescription = entityDescription as QueueDescription;
queueDescription = serviceBusHelper.GetQueue(queueDescription.Path);
entityDescription = queueDescription;
propertyList.AddRange(new[]
{
new[] {ActiveMessageCount, queueDescription.MessageCountDetails.ActiveMessageCount.ToString(CultureInfo.CurrentCulture)},
new[] {DeadletterCount, queueDescription.MessageCountDetails.DeadLetterMessageCount.ToString(CultureInfo.CurrentCulture)},
new[] {ScheduledMessageCount, queueDescription.MessageCountDetails.ScheduledMessageCount.ToString(CultureInfo.CurrentCulture)},
new[] {TransferMessageCount, queueDescription.MessageCountDetails.TransferMessageCount.ToString(CultureInfo.CurrentCulture)},
new[] {TransferDeadLetterMessageCount, queueDescription.MessageCountDetails.TransferDeadLetterMessageCount.ToString(CultureInfo.CurrentCulture)},
new[] {MessageCount, queueDescription.MessageCount.ToString(CultureInfo.CurrentCulture)}
});
}
if (entityDescription is SubscriptionDescription)
{
var subscriptionDescription = entityDescription as SubscriptionDescription;
subscriptionDescription = serviceBusHelper.GetSubscription(subscriptionDescription.TopicPath, subscriptionDescription.Name);
entityDescription = subscriptionDescription;
propertyList.AddRange(new[]{new[]{ActiveMessageCount, subscriptionDescription.MessageCountDetails.ActiveMessageCount.ToString(CultureInfo.CurrentCulture)},
new[]{ScheduledMessageCount, subscriptionDescription.MessageCountDetails.ScheduledMessageCount.ToString(CultureInfo.CurrentCulture)},
new[]{TransferMessageCount, subscriptionDescription.MessageCountDetails.TransferMessageCount.ToString(CultureInfo.CurrentCulture)},
new[]{TransferDeadLetterMessageCount, subscriptionDescription.MessageCountDetails.TransferDeadLetterMessageCount.ToString(CultureInfo.CurrentCulture)},
new[]{MessageCount, subscriptionDescription.MessageCount.ToString(CultureInfo.CurrentCulture)}});
}
if (InvokeRequired)
{
Invoke(new Action(() =>
{
lock (this)
{
if (stopping)
{
return;
}
propertyListView.Items.Clear();
foreach (var array in propertyList)
{
propertyListView.Items.Add(new ListViewItem(array));
}
}
}));
}
else
{
lock (this)
{
if (stopping)
{
return;
}
propertyListView.Items.Clear();
foreach (var array in propertyList)
{
propertyListView.Items.Add(new ListViewItem(array));
}
}
}
}