using GestionIntegral.Api.Models.Distribucion; using System.Collections.Generic; using System.Threading.Tasks; using System.Data; // Para IDbTransaction namespace GestionIntegral.Api.Data.Repositories.Distribucion { public interface IEmpresaRepository { Task> GetAllAsync(string? nombreFilter, string? detalleFilter); Task GetByIdAsync(int id); Task CreateAsync(Empresa nuevaEmpresa, int idUsuario, IDbTransaction transaction); // Necesita transacción Task UpdateAsync(Empresa empresaAActualizar, int idUsuario, IDbTransaction transaction); // Necesita transacción Task DeleteAsync(int id, int idUsuario, IDbTransaction transaction); // Necesita transacción Task ExistsByNameAsync(string nombre, int? excludeId = null); Task IsInUseAsync(int id); } }