using ERPCore.Dtos.Sales;

namespace ERPCore.Services.Interfaces;

public interface ISalesPostingService
{
    Task<SalesInvoicePostingCheckDto> CheckInvoiceAsync(int salesInvoiceId, CancellationToken ct = default);
    Task<SalesSlipPostingCheckDto> CheckSlipAsync(int salesSlipId, CancellationToken ct = default);
    Task<BundleSalePostingCheckDto> CheckBundleAsync(int bundleSaleId, CancellationToken ct = default);

    Task PostInvoiceAsync(int salesInvoiceId, CancellationToken ct = default);
    Task PostSlipAsync(int salesSlipId, CancellationToken ct = default);
    Task PostBundleAsync(int bundleSaleId, CancellationToken ct = default);
}
