private void saveSelectedMessagesToolStripMenuItem_Click(object sender, EventArgs e)
{
try
{
if (messagesDataGridView.SelectedRows.Count <= 0)
{
return;
}
var messages = messagesDataGridView.SelectedRows.Cast<DataGridViewRow>().Select(r => r.DataBoundItem as BrokeredMessage);
IEnumerable<BrokeredMessage> brokeredMessages = messages as BrokeredMessage[] ?? messages.ToArray();
if (!brokeredMessages.Any())
{
return;
}
saveFileDialog.Title = SaveAsTitle;
saveFileDialog.DefaultExt = JsonExtension;
saveFileDialog.Filter = JsonFilter;
saveFileDialog.FileName = CreateFileName();
if (saveFileDialog.ShowDialog() != DialogResult.OK ||
string.IsNullOrWhiteSpace(saveFileDialog.FileName))
{
return;
}
if (File.Exists(saveFileDialog.FileName))
{
File.Delete(saveFileDialog.FileName);
}
using (var writer = new StreamWriter(saveFileDialog.FileName))
{
BodyType bodyType;
var bodies = brokeredMessages.Select(bm => serviceBusHelper.GetMessageText(bm, out bodyType));
writer.Write(MessageSerializationHelper.Serialize(brokeredMessages, bodies));
}
}
catch (Exception ex)
{
HandleException(ex);
}
}