19 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
		
		
			
		
	
	
			19 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
|  | using GestionIntegral.Api.Models.Distribucion; | ||
|  | using System.Collections.Generic; | ||
|  | using System.Threading.Tasks; | ||
|  | using System.Data; | ||
|  | 
 | ||
|  | namespace GestionIntegral.Api.Data.Repositories.Distribucion | ||
|  | { | ||
|  |     public interface IPublicacionRepository | ||
|  |     { | ||
|  |         Task<IEnumerable<(Publicacion Publicacion, string NombreEmpresa)>> GetAllAsync(string? nombreFilter, int? idEmpresaFilter, bool? soloHabilitadas); | ||
|  |         Task<(Publicacion? Publicacion, string? NombreEmpresa)> GetByIdAsync(int id); | ||
|  |         Task<Publicacion?> GetByIdSimpleAsync(int id); // Para uso interno del servicio | ||
|  |         Task<Publicacion?> CreateAsync(Publicacion nuevaPublicacion, int idUsuario, IDbTransaction transaction); | ||
|  |         Task<bool> UpdateAsync(Publicacion publicacionAActualizar, int idUsuario, IDbTransaction transaction); | ||
|  |         Task<bool> DeleteAsync(int id, int idUsuario, IDbTransaction transaction); // Borrado físico con historial | ||
|  |         Task<bool> ExistsByNameAndEmpresaAsync(string nombre, int idEmpresa, int? excludeIdPublicacion = null); | ||
|  |         Task<bool> IsInUseAsync(int id); | ||
|  |     } | ||
|  | } |