in 2LCS/Forms/MainForm.cs [1794:1844]
private void SaasDeleteNsgRule_Click(object sender, EventArgs e)
{
Cursor = Cursors.WaitCursor;
NSGRule nsgRule = null;
StringBuilder log = new StringBuilder();
var tasks = new List<Task<string>>();
foreach (DataGridViewRow row in SelectedDataGridView.SelectedRows)
{
var instance = (CloudHostedInstance)row.DataBoundItem;
if (nsgRule == null)
{
var networkSecurityGroup = _httpClientHelper.GetNetworkSecurityGroup(instance);
using var form = new ChooseNSG
{
NetworkSecurityGroup = networkSecurityGroup,
Text = $"Choose firewall rule to delete"
};
form.ShowDialog();
if (!form.Cancelled && (form.NSGRule != null))
{
nsgRule = form.NSGRule;
log.AppendLine($"Firewall rule to be deleted: {nsgRule.Name}, IP: {nsgRule.IpOrCidr}");
log.AppendLine();
}
else
{
break;
}
}
if (nsgRule != null)
{
tasks.Add(Task.Run(() => new HttpClientHelper(_cookies) { LcsUrl = _lcsUrl, LcsUpdateUrl = _lcsUpdateUrl, LcsDiagUrl = _lcsDiagUrl, LcsProjectId = _selectedProject.Id.ToString() }.DeleteNsgRule(instance, nsgRule.Name)));
}
}
Task.WhenAll(tasks).Wait();
var logEntries = tasks.Select(x => x.Result).ToList();
foreach (var entry in logEntries)
{
log.AppendLine(entry);
}
if (log.Length != 0)
{
var form = new LogDisplay
{
LogEntries = log.ToString(),
Text = $"Log for deletion of firewall rule: {nsgRule.Name}"
};
form.Show();
}
Cursor = Cursors.Default;
}