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);
}
}