18 lines
967 B
C#
18 lines
967 B
C#
|
|
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<IEnumerable<Cancion>> GetAllAsync(string? temaFilter, string? interpreteFilter, int? idRitmoFilter);
|
||
|
|
Task<Cancion?> GetByIdAsync(int id);
|
||
|
|
Task<Cancion?> CreateAsync(Cancion nuevaCancion /*, int idUsuario, IDbTransaction transaction - si hay historial */);
|
||
|
|
Task<bool> UpdateAsync(Cancion cancionAActualizar /*, int idUsuario, IDbTransaction transaction */);
|
||
|
|
Task<bool> DeleteAsync(int id /*, int idUsuario, IDbTransaction transaction */);
|
||
|
|
Task<bool> ExistsByTemaAndInterpreteAsync(string tema, string interprete, int? excludeId = null); // Ejemplo de unicidad
|
||
|
|
Task<IEnumerable<Cancion>> GetRandomCancionesAsync(int count);
|
||
|
|
}
|
||
|
|
}
|