using GestionIntegral.Api.Models.Impresion; using System.Collections.Generic; using System.Threading.Tasks; using System.Data; using GestionIntegral.Api.Dtos.Impresion; namespace GestionIntegral.Api.Data.Repositories.Impresion { public interface IEstadoBobinaRepository { Task> GetAllAsync(string? denominacionFilter); Task> GetAllDropdownAsync(); Task GetByIdAsync(int id); Task CreateAsync(EstadoBobina nuevoEstadoBobina, int idUsuario, IDbTransaction transaction); Task UpdateAsync(EstadoBobina estadoBobinaAActualizar, int idUsuario, IDbTransaction transaction); Task DeleteAsync(int id, int idUsuario, IDbTransaction transaction); Task ExistsByDenominacionAsync(string denominacion, int? excludeId = null); Task IsInUseAsync(int id); // Verificar si se usa en bob_StockBobinas Task> GetHistorialAsync( DateTime? fechaDesde, DateTime? fechaHasta, int? idUsuarioModifico, string? tipoModificacion, int? idEstadoBobinaOriginal); } }