📊 Resumen del Controlador
3
Categorías de Funcionalidad
CRUD
Operaciones Completas
El InvoiceTaxController es el controlador encargado de gestionar todos los aspectos relacionados con los impuestos de facturas del restaurante. Proporciona una API RESTful completa con operaciones CRUD para la entidad FacturaIva, incluyendo gestión de tipos de IVA, cálculos automáticos y recálculos de impuestos.
🎯 Funcionalidades Principales
- Gestión CRUD completa de impuestos de facturas (4 endpoints)
- Consulta de impuestos por factura específica
- Agregar impuestos a facturas existentes
- Actualizar impuestos con validación de datos
- Eliminar impuestos de facturas
- Recálculo automático de impuestos (1 endpoint específico)
- Cálculo de totales de factura (1 endpoint específico)
- Cálculo de impuestos por líneas (1 endpoint específico)
- Múltiples tipos de IVA (general, reducido, superreducido, etc.)
- Manejo de transacciones con contexto de base de datos
- Resultados tipados con ServiceResult para mejor control de errores
🔧 Servicios Utilizados
Servicios Inyectados por Constructor:
- IInvoiceTaxService - Servicio principal de gestión de impuestos de facturas
- DbWorkingContextHelper - Helper para configuración de contexto de base de datos
⚠️ Parámetros de Conexión
Todos los endpoints requieren los siguientes parámetros de conexión a la base de datos:
- initialCatalog (string, requerido): Nombre de la base de datos
- userID (string, opcional): ID de usuario de la base de datos
- password (string, opcional): Contraseña de la base de datos
🔗 Estructura de Rutas
Ruta Base: /WorkingData/InvoiceTax
Todos los endpoints del controlador están bajo la ruta /WorkingData/InvoiceTax, lo que indica que maneja datos de trabajo del sistema.
Patrones de URL por Categoría:
- Gestión de Impuestos:
/{tipoDocumento}/{serie}/{factura} - GET (consultar impuestos)
/ - POST, PUT (agregar/actualizar impuestos)
/{tipoDocumento}/{serie}/{factura}/{iva} - DELETE (eliminar impuesto)
- Recálculo de Impuestos:
/{tipoDocumento}/{serie}/{factura}/recalculate - POST
- Cálculos Específicos:
/calculate-total - POST (cálculo de total)
/calculate-taxes - POST (cálculo de impuestos)
⚠️ Identificación de Impuestos
Los impuestos de factura se identifican mediante cuatro parámetros:
- tipoDocumento (string): Tipo de documento (ej: "FACTURA", "TICKET")
- serie (string): Serie del documento
- factura (double): Número de factura
- iva (double): Porcentaje de IVA del impuesto
📊 Códigos de Respuesta
✅ 200 - OK
Operación exitosa, datos devueltos correctamente
Usado en: GET, POST, PUT, DELETE exitosos
❌ 400 - Bad Request
Error en la solicitud o validación
Usado en: Errores de validación o lógica de negocio
📝 Nota sobre Códigos de Respuesta
Este controlador utiliza ServiceResult para manejar resultados, por lo que todos los endpoints devuelven 200 (éxito) o 400 (error), con la información detallada del resultado en el cuerpo de la respuesta.