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 IEntradaSalidaDistRepository { Task> GetAllAsync(DateTime? fechaDesde, DateTime? fechaHasta, int? idPublicacion, int? idDistribuidor, string? tipoMovimiento); Task GetByIdAsync(int idParte); Task CreateAsync(EntradaSalidaDist nuevaES, int idUsuario, IDbTransaction transaction); Task UpdateAsync(EntradaSalidaDist esAActualizar, int idUsuario, IDbTransaction transaction); Task DeleteAsync(int idParte, int idUsuario, IDbTransaction transaction); Task ExistsByRemitoAndTipoForPublicacionAsync(int remito, string tipoMovimiento, int idPublicacion, int? excludeIdParte = null); Task> GetHistorialAsync( DateTime? fechaDesde, DateTime? fechaHasta, int? idUsuarioModifico, string? tipoModificacion, int? idParteOriginal); // Para filtrar por un movimiento especĂ­fico } }