using System.Threading.Tasks; using System.Collections.Generic; // Para IEnumerable using System.Data; namespace GestionIntegral.Api.Data.Repositories.Contables { public interface ISaldoRepository { // Necesitaremos un método para obtener los IDs de los distribuidores Task> GetAllDistribuidorIdsAsync(); // Método para crear el saldo inicial (podría devolver bool o int) Task CreateSaldoInicialAsync(string destino, int idDestino, int idEmpresa, IDbTransaction transaction); // Transacción es clave // Método para eliminar saldos por IdEmpresa (y opcionalmente por Destino/IdDestino) Task DeleteSaldosByEmpresaAsync(int idEmpresa, IDbTransaction transaction); // Transacción es clave // Método para modificar saldo (lo teníamos como privado antes, ahora en el repo) Task ModificarSaldoAsync(string destino, int idDestino, int idEmpresa, decimal montoAAgregar, IDbTransaction? transaction = null); Task CheckIfSaldosExistForEmpresaAsync(int id); } }