Files
Dhananjaya99 bffc9b1686 first commit
2026-09-28 11:44:26 +05:30

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);
}
}