using GestionIntegral.Api.Models.Impresion; using System; using System.Collections.Generic; using System.Data; using System.Threading.Tasks; namespace GestionIntegral.Api.Data.Repositories.Distribucion { public interface IStockBobinaRepository { Task> GetAllAsync( // Para listados generales, DTO se arma en servicio int? idTipoBobina, string? nroBobinaFilter, int? idPlanta, int? idEstadoBobina, string? remitoFilter, DateTime? fechaDesde, DateTime? fechaHasta); Task GetByIdAsync(int idBobina); Task GetByNroBobinaAsync(string nroBobina); // Para validar unicidad de NroBobina Task CreateAsync(StockBobina nuevaBobina, int idUsuario, IDbTransaction transaction); Task UpdateAsync(StockBobina bobinaAActualizar, int idUsuario, IDbTransaction transaction, string tipoMod = "Actualizada"); // tipoMod para historial Task DeleteAsync(int idBobina, int idUsuario, IDbTransaction transaction); // Solo si está en estado "Disponible" } }