using FrameworkDAL.DTO.Playground; using GB5Shared.DTO.Framework.Login; using System.Collections.Generic; using System.Threading; using System.Threading.Tasks; namespace FrameworkDAL.CustomCode.Playground { public interface IPlaygroundDAL { /// /// Returns all active MACTION rows wired to an EventType (via MEVENTTYPEACTION/DETAIL). /// Used in Live mode to know which actions to queue. /// Task> GetActionsByEventTypeAsync( int eventTypeId, LoginDTO login, CancellationToken ct = default); /// Aggregate TEVENTACTIONRUN RunStatus counts for a playground run. Task> GetTaskStatusCountsAsync( string runId, LoginDTO login, CancellationToken ct = default); /// Aggregate TACTIONOUTBOX SendStatus counts for a playground run. Task> GetActionStatusCountsAsync( string runId, LoginDTO login, CancellationToken ct = default); /// Paged list of action run rows for the Queue Monitor table. Task> GetActionQueueAsync( string runId, LoginDTO login, CancellationToken ct = default); /// /// Reset TEVENTACTIONRUN.RUNSTATUS=0 and TACTIONOUTBOX.SENDSTATUS=0 /// so ActionProcessorWorker will re-pick up the failed run. /// Task ResetActionRunAsync( int actionRunId, LoginDTO login, CancellationToken ct = default); } }