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 IRecargoZonaRepository { Task> GetByPublicacionIdAsync(int idPublicacion); Task GetByIdAsync(int idRecargo); // Para obtener un recargo especĂ­fico Task GetActiveByPublicacionZonaAndDateAsync(int idPublicacion, int idZona, DateTime fecha, IDbTransaction? transaction = null); Task CreateAsync(RecargoZona nuevoRecargo, int idUsuario, IDbTransaction transaction); Task UpdateAsync(RecargoZona recargoAActualizar, int idUsuario, IDbTransaction transaction); Task DeleteAsync(int idRecargo, int idUsuario, IDbTransaction transaction); Task DeleteByPublicacionIdAsync(int idPublicacion, int idUsuarioAuditoria, IDbTransaction transaction); // Ya existe Task GetPreviousActiveRecargoAsync(int idPublicacion, int idZona, DateTime vigenciaDNuevo, IDbTransaction transaction); } }