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 IEntradaSalidaCanillaRepository { Task> GetAllAsync( DateTime? fechaDesde, DateTime? fechaHasta, int? idPublicacion, int? idCanilla, bool? liquidados); Task GetByIdAsync(int idParte); Task> GetByIdsAsync(IEnumerable idsPartes, IDbTransaction? transaction = null); // Para liquidación masiva Task CreateAsync(EntradaSalidaCanilla nuevoES, int idUsuario, IDbTransaction transaction); Task UpdateAsync(EntradaSalidaCanilla esAActualizar, int idUsuario, IDbTransaction transaction, string tipoMod = "Actualizada"); Task DeleteAsync(int idParte, int idUsuario, IDbTransaction transaction); Task LiquidarAsync(IEnumerable idsPartes, DateTime fechaLiquidacion, int idUsuarioLiquidador, IDbTransaction transaction); Task ExistsByPublicacionCanillaFechaAsync(int idPublicacion, int idCanilla, DateTime fecha, IDbTransaction? transaction = null, int? excludeIdParte = null); Task> GetHistorialAsync( DateTime? fechaDesde, DateTime? fechaHasta, int? idUsuarioModifico, string? tipoModificacion, int? idParteOriginal); } }