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); | ||
|  |     } | ||
|  | } |