using ERP.TallerAutomotriz.Application.DTOs; namespace ERP.TallerAutomotriz.Application.Interfaces; public interface IPurchasesService { // Proveedores Task> ListarProveedoresAsync(string? buscar = null, CancellationToken ct = default); Task ObtenerProveedorAsync(int id, CancellationToken ct = default); Task CrearProveedorAsync(ProveedorFormDto dto, string? usuario, CancellationToken ct = default); Task ActualizarProveedorAsync(ProveedorFormDto dto, string? usuario, CancellationToken ct = default); Task EliminarProveedorAsync(int id, CancellationToken ct = default); // Órdenes de compra Task> ListarOrdenesCompraAsync(string? buscar = null, CancellationToken ct = default); Task ObtenerOrdenCompraAsync(int id, CancellationToken ct = default); Task CrearOrdenCompraAsync(OrdenCompraFormDto dto, string? usuario, CancellationToken ct = default); Task RecibirMercaderiaAsync(RecepcionMercaderiaDto dto, string? usuario, CancellationToken ct = default); Task CancelarOrdenCompraAsync(int id, string? usuario, CancellationToken ct = default); // Cuentas por pagar Task> ListarCuentasPagarAsync(bool soloVencidas = false, CancellationToken ct = default); Task RegistrarCuentaPagarAsync(CuentaPagarFormDto dto, CancellationToken ct = default); Task RegistrarPagoCuentaAsync(int cuentaId, decimal monto, CancellationToken ct = default); }