using GestionIntegral.Api.Models.Radios; using System.Collections.Generic; using System.Threading.Tasks; // using System.Data; // Solo si se usa transacción para historial namespace GestionIntegral.Api.Data.Repositories.Radios { public interface ICancionRepository { Task> GetAllAsync(string? temaFilter, string? interpreteFilter, int? idRitmoFilter); Task GetByIdAsync(int id); Task CreateAsync(Cancion nuevaCancion /*, int idUsuario, IDbTransaction transaction - si hay historial */); Task UpdateAsync(Cancion cancionAActualizar /*, int idUsuario, IDbTransaction transaction */); Task DeleteAsync(int id /*, int idUsuario, IDbTransaction transaction */); Task ExistsByTemaAndInterpreteAsync(string tema, string interprete, int? excludeId = null); // Ejemplo de unicidad Task> GetRandomCancionesAsync(int count); } }