using GestionIntegral.Api.Models.Distribucion; using System.Collections.Generic; using System.Threading.Tasks; using System.Data; namespace GestionIntegral.Api.Data.Repositories.Distribucion { public interface IDistribuidorRepository { Task> GetAllAsync(string? nombreFilter, string? nroDocFilter); Task<(Distribuidor? Distribuidor, string? NombreZona)> GetByIdAsync(int id); Task GetByIdSimpleAsync(int id); // Para uso interno en el servicio Task CreateAsync(Distribuidor nuevoDistribuidor, int idUsuario, IDbTransaction transaction); Task UpdateAsync(Distribuidor distribuidorAActualizar, int idUsuario, IDbTransaction transaction); Task DeleteAsync(int id, int idUsuario, IDbTransaction transaction); Task ExistsByNroDocAsync(string nroDoc, int? excludeIdDistribuidor = null); Task ExistsByNameAsync(string nombre, int? excludeIdDistribuidor = null); Task IsInUseAsync(int id); // Verificar en dist_EntradasSalidas, cue_PagosDistribuidor, dist_PorcPago } }