using GB5Shared.DTO.Framework.Login; using PayRollBLL.SAPPaySlip.DTO; using System.Collections.Generic; using System.Threading; using System.Threading.Tasks; namespace PayRollBLL.SAPPaySlip { public interface ISAPPaySlipBLL { /// /// Retrieves the SAP payslip for the logged-in employee. /// /// Internally resolves: /// • EmployeeID → LoginDTO.UserCode /// • SapClient → morganizationunit.organizationunitcode (looked up by LoginDTO.ClientId) /// • Username → SapPaySlip:Username in appsettings.json /// • Password → SapPaySlip:Password in appsettings.json /// /// Throws when FiscalYear or Month are invalid. /// Throws when the SAP API fails, /// when the session context is incomplete, or when the PDF data is corrupt. /// Task> GetPaySlipAsync( string employeeId, string fiscalYear, string month, LoginDTO login, CancellationToken ct); } }