ServiceController.cs 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. using FastReport.Web.Infrastructure;
  2. using FastReport.Web.Services;
  3. using Microsoft.AspNetCore.Http;
  4. using Microsoft.AspNetCore.Mvc;
  5. using System.Net.Mime;
  6. namespace FastReport.Web.Controllers
  7. {
  8. static partial class Controllers
  9. {
  10. internal sealed class TextEditParams
  11. {
  12. public string ReportId { get; set; }
  13. public string Click { get; set; }
  14. }
  15. [HttpGet("/preview.textEditForm")]
  16. public static IResult TextEditForm([FromQuery] TextEditParams query,
  17. IReportService _reportService,
  18. ITextEditService _textEditService,
  19. HttpRequest request)
  20. {
  21. if (!IsAuthorized(request))
  22. return Results.Unauthorized();
  23. if (!_reportService.TryFindWebReport(query.ReportId, out WebReport webReport))
  24. return Results.NotFound();
  25. var result = _textEditService.GetTemplateTextEditForm(query.Click, webReport);
  26. if (result != null)
  27. {
  28. return Results.Content(result, MediaTypeNames.Text.Html);
  29. }
  30. else
  31. return Results.NotFound();
  32. }
  33. }
  34. }