using GB5Shared.DTO.Framework.Login;
namespace MMBLL.StockAccountPost;
public interface IStockAccountPostBLL
{
///
/// Posts stock account GL entries for a document (GRN, issue, transfer, etc.).
/// Handles stocked items, capital items, and non-stock charge items (legacy GL gap fix).
/// For capital items: publishes a Dapr event to the FAM module.
/// For non-stock charges: posts directly to GL from TMMDETAIL — no TSTOCKLEDGER row required.
///
Task PostToGLAsync(
int objectTypeId, int objectId, int ouid,
bool isTransfer,
LoginDTO login, CancellationToken ct);
///
/// Returns the reconciliation detail for GL audit — lists each posting with status.
///
Task GetPostingReconciliationAsync(
int objectTypeId, int objectId, int ouid,
LoginDTO login, CancellationToken ct);
}