using Rs_system.Models; namespace Rs_system.Services; public interface IContabilidadGeneralService { // Categorías de Ingreso Task> ObtenerCategoriasIngresoAsync(); Task ObtenerCategoriaIngresoPorIdAsync(long id); Task CrearCategoriaIngresoAsync(CategoriaIngreso categoria); Task ActualizarCategoriaIngresoAsync(CategoriaIngreso categoria); Task EliminarCategoriaIngresoAsync(long id); // Categorías de Egreso Task> ObtenerCategoriasEgresoAsync(); Task ObtenerCategoriaEgresoPorIdAsync(long id); Task CrearCategoriaEgresoAsync(CategoriaEgreso categoria); Task ActualizarCategoriaEgresoAsync(CategoriaEgreso categoria); Task EliminarCategoriaEgresoAsync(long id); // Reportes Mensuales Task ObtenerReporteMensualAsync(int mes, int anio); Task ObtenerOCrearReporteMensualAsync(int mes, int anio); Task> ListarReportesAsync(int? anio = null); Task CerrarReporteAsync(long reporteId); // Movimientos Task GuardarMovimientosBulkAsync(long reporteId, List movimientos); Task CalcularSaldoActualAsync(long reporteId); // Consolidados Task> ObtenerConsolidadoIngresosAsync(long reporteId); Task> ObtenerConsolidadoEgresosAsync(long reporteId); // Adjuntos Task> ObtenerAdjuntosMovimientoAsync(long movimientoId); Task CrearAdjuntoAsync(long movimientoId, string nombreArchivo, string rutaArchivo, string tipoContenido); Task EliminarAdjuntoAsync(long adjuntoId); }