123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960 |
- using System;
- using System.Collections.Generic;
- using System.IO;
- using System.Text;
- using Microsoft.AspNetCore.Html;
- using System.Threading.Tasks;
- using System.Linq;
- using FastReport.Web.Cache;
- using FastReport.Web.Services;
- namespace FastReport.Web
- {
- public partial class WebReport
- {
- internal static IResourceLoader ResourceLoader { get; set; }
- public HtmlString RenderSync()
- {
- return Task.Run(() => Render()).Result;
- }
- public async Task<HtmlString> Render()
- {
- if (Report == null)
- throw new Exception("Report is null");
- return Render(false);
- }
- internal HtmlString Render(bool renderBody)
- {
- switch (Mode)
- {
- #if DIALOGS
- case WebReportMode.Dialog:
- #endif
- case WebReportMode.Preview:
- return new HtmlString(template_render(renderBody));
- #if DESIGNER
- case WebReportMode.Designer:
- return RenderDesigner();
- #endif
- default:
- throw new Exception($"Unknown mode: {Mode}");
- }
- }
- /// <summary>
- /// Force report to be removed from internal cache
- /// </summary>
- public void RemoveFromCache()
- {
- WebReportCache.Instance?.Remove(this);
- }
- }
- }
|