using GB5Shared.DTO.Framework.Login; namespace FrameworkBLL.Promotion { // Every Promotion table (MPROMOTABLEENTITYTYPE, MPROMOTIONASSETLINK, MPROMOTIONCOUNTERPARTY) // lives inside a real tenant database like any other GB5 table -- GOP itself is TENANTID-scoped // within that one database, not one-database-per-deployment. Promotion's own convention // (already established by ReportHeaderPromotionAdapter/etc., which always force ClientId=-1 at // the destination) is that Ingest/Import operate against ClientId=-1 -- the framework-level/ // shared-content tenant, never a specific customer's own ClientId. A background job (no human // HTTP request, no "Login" header to read) needs a way to synthesize that identity -- this // mirrors IDXPSystemContext/IPromotionExchangeSystemContext's GetSystemLogin() shape, config- // driven rather than hardcoded, since which physical database is "home" for a given deployment's // own DEVSYS/IMPSYS-level content differs per environment. public interface IPromotionSystemContext { LoginDTO GetSystemLogin(); } }