in 2LCS/Forms/MainForm.cs [2269:2326]
private void ExportUpdateScheduleForAllProjectsToolStripMenuItem_Click(object sender, EventArgs e)
{
notifyIcon.BalloonTipText = $"Exporting updates schedule for all LCS projects. Please wait...";
notifyIcon.BalloonTipTitle = "Exporting updates schedule list";
notifyIcon.ShowBalloonTip(2000); //This setting might be overruled by the OS
Cursor = Cursors.WaitCursor;
var previousProject = _selectedProject;
var exportedUpdates = new List<UpcomingCalendarViewModels>();
Projects = _httpClientHelper.GetAllProjects();
Projects = ExcludeProjectsForOrganization(Projects); //remove all internal projects for export.
foreach (var _project in Projects)
{
if (_project.RequestPending == true) continue;
_selectedProject = _project;
_httpClientHelper.ChangeLcsProjectId(_project.Id.ToString());
SetLcsProjectText();
List<UpcomingCalendarViewModels> calendar = _httpClientHelper.GetUpcomingCalendars();
if (calendar != null && calendar.Any())
{
foreach (var _updateRow in calendar)
{
exportedUpdates.Add(_updateRow);
}
}
}
Cursor = Cursors.Default;
SaveFileDialog savefile = new SaveFileDialog
{
FileName = "D365FO updates - 2LCS generated.csv",
Filter = "CSV files (*.csv)|*.csv|All files (*.*)|*.*"
};
if (savefile.ShowDialog() == DialogResult.OK)
{
try
{
using StreamWriter sw = new StreamWriter(savefile.FileName, false, Encoding.Unicode);
var csv = new CsvWriter(sw, CultureInfo.CurrentCulture);
csv.WriteRecords(exportedUpdates);
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
_selectedProject = previousProject;
_httpClientHelper.ChangeLcsProjectId(_selectedProject.Id.ToString());
SetLcsProjectText();
RefreshChe(false);
RefreshSaas(false);
}