using Fitness_core_BE.DTOs.Booking; using System.Net; namespace Fitness_core_BE.Helpers { // Minimal, dependency-free HTML receipt for a booking payment -- mirrors BookingViewHtml.cs's // "self-contained page, share the link" pattern, kept as its own file since a receipt's // content (itemized charge, payment method) is different enough from the booking confirmation // page to not share a template. public static class BookingInvoiceHtml { public static string Render(BookingInvoiceDto invoice) { var when = $"{invoice.BookingStartTime:dddd, dd MMM yyyy}, {invoice.BookingStartTime:h:mm tt} - {invoice.BookingEndTime:h:mm tt}"; return $$""" Payment Receipt - Vijaya Sport Club

Vijaya Sport Club — Receipt

Facility{{Encode(invoice.FacilityName)}}
Session{{Encode(when)}}
Paid by{{Encode(invoice.GuestName)}}
Payment Method{{Encode(invoice.PaymentMethod)}}
Issued{{invoice.IssuedAt:dd MMM yyyy, h:mm tt}}
Amount Paid
Rs. {{invoice.Amount:N2}}
"""; } public static string NotFound() => """ Receipt not found

Receipt not found

This link may be invalid.

"""; private static string Encode(string? value) => WebUtility.HtmlEncode(value ?? ""); } }