using GestionIntegral.Api.Models.Distribucion; using System.Collections.Generic; using System.Threading.Tasks; using System.Data; namespace GestionIntegral.Api.Data.Repositories.Distribucion { public interface IPrecioRepository { Task> GetByPublicacionIdAsync(int idPublicacion); Task GetByIdAsync(int idPrecio); Task IsInUseAsync(int idPrecio, DateTime vigenciaD, DateTime? vigenciaH); Task GetActiveByPublicacionAndDateAsync(int idPublicacion, DateTime fecha, IDbTransaction? transaction = null); Task CreateAsync(Precio nuevoPrecio, int idUsuario, IDbTransaction transaction); Task UpdateAsync(Precio precioAActualizar, int idUsuario, IDbTransaction transaction); Task DeleteAsync(int idPrecio, int idUsuario, IDbTransaction transaction); // MODIFICADO: AƱadir idUsuarioAuditoria Task DeleteByPublicacionIdAsync(int idPublicacion, int idUsuarioAuditoria, IDbTransaction transaction); Task GetPreviousActivePriceAsync(int idPublicacion, DateTime vigenciaDNuevo, IDbTransaction transaction); Task> GetHistorialAsync( DateTime? fechaDesde, DateTime? fechaHasta, int? idUsuarioModifico, string? tipoModificacion, int? idPrecioOriginal, int? idPublicacionOriginal); } }