Add device detection and PDF generation features; refactor AuthDialog and update print utilities

This commit is contained in:
masoodafar-web
2025-11-14 13:12:31 +03:30
parent e86cb7aa47
commit 230ba41113
12 changed files with 397 additions and 54 deletions

View File

@@ -1,5 +1,6 @@
using FluentValidation;
using FrontOffice.Main.Utilities;
using System.Net;
var builder = WebApplication.CreateBuilder(args);
@@ -54,6 +55,21 @@ app.UseRouting();
app.MapBlazorHub();
app.MapFallbackToPage("/_Host");
app.MapGet("/contract/sample", (FrontOffice.Main.Utilities.Pdf.IHtmlToPdfService pdfService) =>
{
var html = @"<h2 style='text-align:center'>قرارداد نمونه همکاری</h2><p>این یک متن نمونه برای قرارداد است که فقط جهت تست دانلود PDF قرار داده شده است.</p><ul><li>بند ۱: استفاده صرفا مجاز.</li><li>بند ۲: رعایت قوانین لازم است.</li><li>بند ۳: مسئولیت اطلاعات با کاربر است.</li></ul><p class='small'>تاریخ تولید: " + DateTime.Now.ToString("yyyy/MM/dd HH:mm") + "</p>";
var bytes = pdfService.GeneratePdf(html, "sample-contract");
return Results.File(bytes, "application/pdf", "sample-contract.pdf");
});
app.MapGet("/contract/generate", (string html, string? fileName, FrontOffice.Main.Utilities.Pdf.IHtmlToPdfService pdfService) =>
{
var decoded = WebUtility.UrlDecode(html);
var safeName = string.IsNullOrWhiteSpace(fileName) ? "contract" : fileName.Trim();
var bytes = pdfService.GeneratePdf(decoded, safeName);
return Results.File(bytes, "application/pdf", safeName + ".pdf");
});
app.Run();