using System.Collections.Generic; using System.Threading; using System.Threading.Tasks; using FrameworkDAL.DTO.Promotion; using GB5Shared.DTO.Framework.Login; namespace FrameworkDAL.CustomCode.Promotion { public interface IPromotionCounterpartyDAL { /// Used only by PromotionPackageCrypto to resolve an ACTIVE counterparty's public /// key — deliberately excludes inactive rows. Admin CRUD below uses /// GetByEnvironmentCodeForAdmin instead, which does not filter on IsActive. Task GetByEnvironmentCode( string environmentCode, LoginDTO login, CancellationToken ct); Task GetByEnvironmentCodeForAdmin( string environmentCode, LoginDTO login, CancellationToken ct); Task> GetList(LoginDTO login, CancellationToken ct); Task> GetSelectList(LoginDTO login, CancellationToken ct); Task ExistsByEnvironmentCode(string environmentCode, LoginDTO login, CancellationToken ct); Task InsertCounterparty(PromotionCounterpartyDTO dto, LoginDTO login, CancellationToken ct); Task UpdateCounterparty(PromotionCounterpartyDTO dto, LoginDTO login, CancellationToken ct); Task DeleteCounterparty(string environmentCode, LoginDTO login, CancellationToken ct); } }