Skip to content

Commit

Permalink
Merge pull request #92 from paolosalvatori/issue-91-purge-warning
Browse files Browse the repository at this point in the history
Confirm purge operation
  • Loading branch information
paolosalvatori committed Apr 12, 2017
2 parents adecf46 + bfa6dcf commit 240ac14
Show file tree
Hide file tree
Showing 2 changed files with 31 additions and 12 deletions.
24 changes: 16 additions & 8 deletions Controls/HandleQueueControl.cs
Original file line number Diff line number Diff line change
Expand Up @@ -408,6 +408,12 @@ public void PurgeMessages(int numberOfMessages)

public async Task<long> PurgeMessagesAsync()
{
var result = MessageBox.Show(this, $"Would you like to purge {queueDescription.Path}?", "Purge messages", MessageBoxButtons.YesNo, MessageBoxIcon.Warning, MessageBoxDefaultButton.Button2);
if (result != DialogResult.Yes)
{
return 0;
}

var stopwatch = new Stopwatch();
stopwatch.Start();
var messagingFactory = MessagingFactory.CreateFromConnectionString(serviceBusHelper.ConnectionString);
Expand Down Expand Up @@ -445,20 +451,23 @@ public async Task<long> PurgeMessagesAsync()
}
stopwatch.Stop();
MainForm.SingletonMainForm.refreshEntity_Click(null, null);
writeToLog(
$"[{count}] messages have been purged from the [{queueDescription.Path}] queue in [{stopwatch.ElapsedMilliseconds}] milliseconds.");
writeToLog($"[{count}] messages have been purged from the [{queueDescription.Path}] queue in [{stopwatch.ElapsedMilliseconds}] milliseconds.");
return count;
}

public async Task<long> PurgeDeadletterQueueMessagesAsync()
{
var dlqPath = QueueClient.FormatDeadLetterPath(queueDescription.Path);
var result = MessageBox.Show(this, $"Would you like to purge {dlqPath}?", "Purge messages", MessageBoxButtons.YesNo, MessageBoxIcon.Warning, MessageBoxDefaultButton.Button2);
if (result != DialogResult.Yes)
{
return 0;
}

var stopwatch = new Stopwatch();
stopwatch.Start();
var messagingFactory = MessagingFactory.CreateFromConnectionString(serviceBusHelper.ConnectionString);
var receiver =
await
messagingFactory.CreateMessageReceiverAsync(
QueueClient.FormatDeadLetterPath(queueDescription.Path), ReceiveMode.ReceiveAndDelete);
var receiver = await messagingFactory.CreateMessageReceiverAsync(dlqPath, ReceiveMode.ReceiveAndDelete);
var count = 0;
while (true)
{
Expand Down Expand Up @@ -491,8 +500,7 @@ public async Task<long> PurgeDeadletterQueueMessagesAsync()
}
stopwatch.Stop();
MainForm.SingletonMainForm.refreshEntity_Click(null, null);
writeToLog(
$"[{count}] messages have been purged from the deadletter queue of the [{queueDescription.Path}] queue in [{stopwatch.ElapsedMilliseconds}] milliseconds.");
writeToLog($"[{count}] messages have been purged from the deadletter queue of the [{queueDescription.Path}] queue in [{stopwatch.ElapsedMilliseconds}] milliseconds.");
return count;
}

Expand Down
19 changes: 15 additions & 4 deletions Controls/HandleSubscriptionControl.cs
Original file line number Diff line number Diff line change
Expand Up @@ -383,10 +383,16 @@ public void GetMessageSessions()

public async Task<long> PurgeMessagesAsync()
{
var entityPath = SubscriptionClient.FormatSubscriptionPath(subscriptionWrapper.SubscriptionDescription.TopicPath, subscriptionWrapper.SubscriptionDescription.Name);
var result = MessageBox.Show(this, $"Would you like to purge {entityPath}?", "Purge messages", MessageBoxButtons.YesNo, MessageBoxIcon.Warning, MessageBoxDefaultButton.Button2);
if (result != DialogResult.Yes)
{
return 0;
}

var stopwatch = new Stopwatch();
stopwatch.Start();
var entityPath = SubscriptionClient.FormatSubscriptionPath(subscriptionWrapper.SubscriptionDescription.TopicPath,
subscriptionWrapper.SubscriptionDescription.Name);

var messagingFactory = MessagingFactory.CreateFromConnectionString(serviceBusHelper.ConnectionString);
var receiver = await messagingFactory.CreateMessageReceiverAsync(entityPath, ReceiveMode.ReceiveAndDelete);
var count = 0;
Expand Down Expand Up @@ -427,10 +433,15 @@ public async Task<long> PurgeMessagesAsync()

public async Task<long> PurgeDeadletterQueueMessagesAsync()
{
var entityPath = SubscriptionClient.FormatDeadLetterPath(subscriptionWrapper.SubscriptionDescription.TopicPath, subscriptionWrapper.SubscriptionDescription.Name);
var result = MessageBox.Show(this, $"Would you like to purge {entityPath}?", "Purge messages", MessageBoxButtons.YesNo, MessageBoxIcon.Warning, MessageBoxDefaultButton.Button2);
if (result != DialogResult.Yes)
{
return 0;
}

var stopwatch = new Stopwatch();
stopwatch.Start();
var entityPath = SubscriptionClient.FormatDeadLetterPath(subscriptionWrapper.SubscriptionDescription.TopicPath,
subscriptionWrapper.SubscriptionDescription.Name);
var messagingFactory = MessagingFactory.CreateFromConnectionString(serviceBusHelper.ConnectionString);
var receiver = await messagingFactory.CreateMessageReceiverAsync(entityPath, ReceiveMode.ReceiveAndDelete);
var count = 0;
Expand Down

0 comments on commit 240ac14

Please sign in to comment.