using GestionIntegral.Api.Models.Distribucion; using System; using System.Collections.Generic; using System.Data; using System.Threading.Tasks; namespace GestionIntegral.Api.Data.Repositories.Distribucion { public interface IPorcPagoRepository { Task> GetByPublicacionIdAsync(int idPublicacion); Task GetByIdAsync(int idPorcentaje); Task GetActiveByPublicacionDistribuidorAndDateAsync(int idPublicacion, int idDistribuidor, DateTime fecha, IDbTransaction? transaction = null); Task CreateAsync(PorcPago nuevoPorcPago, int idUsuario, IDbTransaction transaction); Task UpdateAsync(PorcPago porcPagoAActualizar, int idUsuario, IDbTransaction transaction); Task DeleteAsync(int idPorcentaje, int idUsuario, IDbTransaction transaction); Task DeleteByPublicacionIdAsync(int idPublicacion, int idUsuarioAuditoria, IDbTransaction transaction); Task GetPreviousActivePorcPagoAsync(int idPublicacion, int idDistribuidor, DateTime vigenciaDNuevo, IDbTransaction transaction); Task> GetHistorialAsync( DateTime? fechaDesde, DateTime? fechaHasta, int? idUsuarioModifico, string? tipoModificacion, int? idPorcentajeOriginal, int? idPublicacionOriginal, int? idDistribuidorOriginal); } }