using EnablementDAL.DTO; using GB5Shared.DTO.Framework.Criteria; using GB5Shared.DTO.Framework.Login; namespace EnablementDAL.CustomCode.ShowRule; public interface IShowRuleDAL { Task GetShowRuleAsync(int showRuleId, LoginDTO login); Task GetShowRuleList(CriteriaDTO criteriaDTO, LoginDTO loginDTO); Task GetShowRuleListCountAsync(int showId, LoginDTO login, CancellationToken ct); // Channel-owned rules — same TSHOWRULE table, filtered by ChannelId instead of // ShowId. Backs ShowChannelSubscriptionBLL's audience-eligibility check. Task> GetShowRulesForChannelAsync(int channelId, LoginDTO login, CancellationToken ct); // Space-owned rules — same TSHOWRULE table, filtered by SpaceId instead of // ShowId/ChannelId. Backs ShowSpaceSubscriptionBLL's audience-eligibility check. Task> GetShowRulesForSpaceAsync(int spaceId, LoginDTO login, CancellationToken ct); Task InsertShowRuleAsync( ShowRuleDTO dto, LoginDTO login, CancellationToken ct); Task UpdateShowRuleAsync( ShowRuleDTO dto, LoginDTO login, CancellationToken ct); Task DeleteShowRuleAsync(int showRuleId, LoginDTO login, CancellationToken ct); }