void exportReportsTranslations(ExecutionLogInterface log, string folder, Repository repository, StringBuilder translations, string separator, string extraSeparators, int len)
{
foreach (string reportPath in Directory.GetFiles(folder, "*." + Repository.SealReportFileExtension))
{
try
{
if (log.IsJobCancelled()) return;
Report report = Report.LoadFromFile(reportPath, repository);
translations.AppendFormat("ReportDisplayName{0}{1}{0}{2}{3}\r\n", separator, Helper.QuoteDouble(reportPath.Substring(len)), Helper.QuoteDouble(report.ExecutionName), extraSeparators);
foreach (var view in report.Views)
{
exportViewsTranslations(log, view, repository, translations, reportPath, separator, extraSeparators, len);
}
foreach (var output in report.Outputs)
{
translations.AppendFormat("ReportOutputName{0}{1}{0}{2}{3}\r\n", separator, Helper.QuoteDouble(reportPath.Substring(len)), Helper.QuoteDouble(output.Name), extraSeparators);
}
}
catch (Exception ex)
{
log.LogRaw("ERROR loading report {0}\r\n", reportPath);
log.Log(ex.Message);
}
}
foreach (string subFolder in Directory.GetDirectories(folder))
{
if (log.IsJobCancelled()) return;
exportReportsTranslations(log, subFolder, repository, translations, separator, extraSeparators, len);
}
}