using System.Data.Common;
using GB5Shared.DTO.Framework.Criteria;
using GB5Shared.DTO.Framework.Login;
using MarketingDAL.DTO.CustomerProductMatrixCell;
namespace MarketingDAL.CustomCode.CustomerProductMatrixCell;
public interface ICustomerProductMatrixCellDAL
{
///
/// Returns the raw DTO (not pre-serialized to JSON, unlike this module's other Get* DAL
/// methods) because CustomerProductMatrixCellBLL must populate the computed, non-stored
/// RevenueTargetAmount property before serializing the response.
///
Task GetCustomerProductMatrixCell(int customerProductMatrixCellId, LoginDTO loginDTO, CancellationToken ct);
Task GetSelectListCustomerProductMatrixCell(CriteriaDTO criteriaDTO, LoginDTO loginDTO, CancellationToken ct);
Task SaveCustomerProductMatrixCell(CustomerProductMatrixCellDTO customerProductMatrixCellDTO, LoginDTO loginDTO, DbTransaction tx, CancellationToken ct);
Task UpdateCustomerProductMatrixCell(CustomerProductMatrixCellDTO customerProductMatrixCellDTO, LoginDTO loginDTO, DbTransaction tx, CancellationToken ct);
Task DeleteCustomerProductMatrixCell(int customerProductMatrixCellId, LoginDTO loginDTO, CancellationToken ct);
}