using DXPDAL.VendorPo; using GB5Shared.DTO.ECM; using GB5Shared.DTO.Framework.Login; namespace DXPBLL.Asn; public interface IAsnBLL { // asnBizTransactionTypeId identifies "Vendor ASN" in the tenant's own MBIZTRANSACTIONTYPE // master — tenant-specific configuration accepted as a parameter, same rationale as // VendorPoBLL's poBizTransactionTypeId (see AsnBLL.cs and Phase 1.4 of the plan). // rowGuid ties back to any Delivery Challan documents already uploaded via UploadDocumentAsync // (ObjectId=0, two-phase UAS pattern) before this call. Task<(string Message, VendorPoDTO? Asn)> CreateAsnAsync( int dxpPartyId, int poMMHeadId, int localPartyId, int ouId, int asnBizTransactionTypeId, string? dispatchRemarks, Guid rowGuid, int tenantId, string databaseName, byte databaseType, int actingDxpUserId, CancellationToken ct); // Delivery Challan upload — lives in the TENANT's database (same as the ASN's TMMHEAD row // it will be resolved against), not DXPDb, unlike KYC's UAS calls in Phase 1.2. Task UploadDeliveryChallanAsync( AttachmentUploadRequest request, Stream fileStream, string originalFileName, string contentType, int tenantId, string databaseName, byte databaseType, int localPartyId, int actingDxpUserId, CancellationToken ct); }