21 lines
1004 B
C#
21 lines
1004 B
C#
using Fitness_core_BE.Models.Receipt;
|
|
|
|
namespace Fitness_core_BE.Interfaces.Services
|
|
{
|
|
public interface IReceiptService
|
|
{
|
|
/// <summary>Gathers member/plan/gym/amount data for a member invoice.
|
|
/// When <paramref name="requireClientId"/> is set, throws if the invoice isn't that gym's.</summary>
|
|
Task<ReceiptModel> BuildForInvoiceAsync(Guid customerInvoiceId, decimal? paymentAmount = null, Guid? requireClientId = null);
|
|
|
|
/// <summary>Gathers gym/amount data for a platform (HexaFitness -> gym) invoice.
|
|
/// When <paramref name="requireClientId"/> is set, throws if the invoice isn't that gym's.</summary>
|
|
Task<ReceiptModel> BuildForClientInvoiceAsync(Guid clientInvoiceId, decimal? paymentAmount = null, Guid? requireClientId = null);
|
|
|
|
byte[] GeneratePdf(ReceiptModel model);
|
|
|
|
/// <summary>Best-effort: emails the receipt PDF and texts the member. Never throws.</summary>
|
|
Task SendReceiptAsync(ReceiptModel model);
|
|
}
|
|
}
|