using System.Data.Common; using GB5Shared.DTO.Framework.Criteria; using GB5Shared.DTO.Framework.Login; using MarketingDAL.DTO.MarketingCampaign; namespace MarketingDAL.CustomCode.MarketingCampaign; public interface IMarketingCampaignDAL { Task GetMarketingCampaign(int campaignId, LoginDTO loginDTO, CancellationToken ct); Task GetSelectListMarketingCampaign(CriteriaDTO criteriaDTO, LoginDTO loginDTO, CancellationToken ct); // Transactional write overloads — called from BaseEntityAppService.ExecuteSaveAsync's // persistFunc so the save participates in the single pipeline transaction. Task SaveMarketingCampaign(MarketingCampaignDTO marketingCampaignDTO, LoginDTO loginDTO, DbTransaction tx, CancellationToken ct); Task UpdateMarketingCampaign(MarketingCampaignDTO marketingCampaignDTO, LoginDTO loginDTO, DbTransaction tx, CancellationToken ct); Task DeleteMarketingCampaign(int campaignId, LoginDTO loginDTO, CancellationToken ct); }