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