first commit

This commit is contained in:
Dhananjaya99
2026-09-28 11:44:26 +05:30
parent 721743ae6b
commit bffc9b1686
424 changed files with 46474 additions and 0 deletions
+20
View File
@@ -0,0 +1,20 @@
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);
}
}