29 lines
1.1 KiB
C#
29 lines
1.1 KiB
C#
using ROLAC.API.Entities;
|
|
|
|
namespace ROLAC.API.Services.Disbursement;
|
|
|
|
/// <summary>Data needed to render one printed check (header + ledger stub lines).</summary>
|
|
public class CheckPrintModel
|
|
{
|
|
public ChurchProfile Issuer { get; set; } = null!;
|
|
public Check Check { get; set; } = null!;
|
|
public List<CheckLine> 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
|
|
{
|
|
/// <summary>Renders the 8.5"x11" check (check + two ledger stubs) to a PDF stream.</summary>
|
|
Task<Stream> RenderPdfAsync(CheckPrintModel model);
|
|
|
|
/// <summary>
|
|
/// 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.
|
|
/// </summary>
|
|
Task<Stream> RenderReceiptPdfAsync(CheckPrintModel model);
|
|
}
|