namespace EnablementDAL.DTO; // Request context for ResolveShowMatches (the "System A" pull/context resolver — // Help Centre, Command Palette's Help tab, Action Panel). Distinct from // ResolverContextDTO/ResolverRequestDTO, which back ResolveShow ("System B", // the push/event resolver) — different consumer, different field set (no // Role/RoleId/Action/MenuType — those come from LoginDTO here instead). public class EnablementContextDTO { public EnablementDatabaseContextDTO Database { get; set; } = new(); public EnablementUserContextDTO User { get; set; } = new(); public EnablementUiContextDTO Ui { get; set; } = new(); public EnablementEntityContextDTO Entity { get; set; } = new(); public EnablementTemporalContextDTO Temporal { get; set; } = new(); public EnablementTriggerContextDTO Trigger { get; set; } = new(); } public class EnablementDatabaseContextDTO { public string DbName { get; set; } = string.Empty; } public class EnablementUserContextDTO { public int UserId { get; set; } = -1; public string UserCode { get; set; } = string.Empty; public string UserName { get; set; } = string.Empty; public int OuId { get; set; } = -1; public string OuName { get; set; } = string.Empty; public string WorkRegion { get; set; } = string.Empty; public string PortalType { get; set; } = string.Empty; } public class EnablementUiContextDTO { public string Product { get; set; } = string.Empty; public string Module { get; set; } = string.Empty; public string Menu { get; set; } = string.Empty; public int MenuId { get; set; } = -1; public string ListMenuId { get; set; } = string.Empty; public string Page { get; set; } = string.Empty; public string Screen { get; set; } = string.Empty; } public class EnablementEntityContextDTO { public string EntityType { get; set; } = string.Empty; public int EntityId { get; set; } = -1; public int BizTransactionClassId { get; set; } = -1; public int SelectedId { get; set; } = -1; } public class EnablementTemporalContextDTO { public string BusinessDate { get; set; } = string.Empty; public int WorkPeriodId { get; set; } = -1; public DateTime? WorkPeriodFromDate { get; set; } public DateTime? WorkPeriodToDate { get; set; } } public class EnablementTriggerContextDTO { public string Type { get; set; } = string.Empty; public string Source { get; set; } = string.Empty; public string ObjectId { get; set; } = string.Empty; }