using ROLAC.API.Entities;
namespace ROLAC.API.Services.Disbursement;
/// Data needed to render one printed check (header + ledger stub lines).
public class CheckPrintModel
{
public ChurchProfile Issuer { get; set; } = null!;
public Check Check { get; set; } = null!;
public List Lines { get; set; } = [];
public string AmountInWords { get; set; } = "";
// Captured receipt e-signature, populated only when rendering a signed receipt.
public byte[]? SignatureImage { get; set; }
public string SignatureContentType { get; set; } = "image/png";
}
public interface ICheckPrintService
{
/// Renders the 8.5"x11" check (check + two ledger stubs) to a PDF stream.
Task RenderPdfAsync(CheckPrintModel model);
///
/// Renders a receipt PDF acknowledging a signed check: check info, the disbursement
/// detail lines, and the embedded e-signature image with the signer name and timestamp.
///
Task RenderReceiptPdfAsync(CheckPrintModel model);
}