This commit is contained in:
2020-09-08 19:10:56 +00:00
parent 10abb41a0c
commit 1ac6fc68a7
2 changed files with 71 additions and 26 deletions

View File

@@ -69,7 +69,7 @@ namespace AyaNova.Biz
return null;
}
Report newObject = new Report();
CopyObject.Copy(dbObject, newObject);
string newUniqueName = string.Empty;
bool NotUnique = true;
@@ -402,21 +402,21 @@ namespace AyaNova.Biz
clientMeta = reportParam.ClientMeta.ToString();
//add Server meta data
var serverMeta=$"{{ayApiUrl:`{apiUrl}`}}";
var serverMeta = $"{{ayApiUrl:`{apiUrl}`}}";
#if (DEBUG)
//view page contents
//view page contents
var pagecontent = await page.GetContentAsync();
#endif
//prePareData / preRender
var ReportDataObject=$"{{ ayReportData:{ReportData}, ayClientMetaData:{clientMeta}, ayServerMetaData:{serverMeta} }}";
var preRenderResult=await page.EvaluateExpressionAsync<dynamic>($"ayPreRender({ReportDataObject});");
//prePareData / preRender
var ReportDataObject = $"{{ ayReportData:{ReportData}, ayClientMetaData:{clientMeta}, ayServerMetaData:{serverMeta} }}";
var PreParedReportDataObject = await page.EvaluateExpressionAsync<dynamic>($"ayPreRender({ReportDataObject});");//note ayPreRender is async but dont' use await to call it as the EvaluateExpressionAsync function knows how to handle that already
//compile the template
var compileScript = $"Handlebars.compile(`{report.Template}`)({preRenderResult});";
//compile the template
var compileScript = $"Handlebars.compile(`{report.Template}`)({PreParedReportDataObject});";
var compiledHTML = await page.EvaluateExpressionAsync<string>(compileScript);
//render report as HTML
@@ -424,12 +424,7 @@ namespace AyaNova.Biz
//add style (after page or it won't work)
if (!string.IsNullOrWhiteSpace(report.Style))
{
await page.AddStyleTagAsync(new AddTagOptions { Content = report.Style });
}
//If need the generated page content
//var pagecontent = await page.GetContentAsync();
string outputFileName = StringUtil.ReplaceLastOccurrence(FileUtil.NewRandomFileName, ".", "") + ".pdf";
string outputFullPath = System.IO.Path.Combine(FileUtil.TemporaryFilesFolder, outputFileName);