using GestionIntegral.Api.Models.Suscripciones;
using System.Data;

namespace GestionIntegral.Api.Data.Repositories.Suscripciones
{
    public interface IPromocionRepository
    {
        Task<IEnumerable<Promocion>> GetAllAsync(bool soloActivas);
        Task<Promocion?> GetByIdAsync(int id);
        Task<Promocion?> CreateAsync(Promocion nuevaPromocion, IDbTransaction transaction);
        Task<bool> UpdateAsync(Promocion promocion, IDbTransaction transaction);
        Task<IEnumerable<Promocion>> GetPromocionesActivasParaSuscripcion(int idSuscripcion, DateTime fechaPeriodo, IDbTransaction transaction);
        Task<IEnumerable<Promocion>> GetPromocionesActivasParaSuscripcion(int idSuscripcion, DateTime fechaPeriodo);
    }
}