- Updated EmpresaReportService to utilize ICatalogoRepository for stored procedure calls.
- Refactored InformeService to include new method for executing Crystal Reports stored procedures.
- Simplified LeadService by removing direct database connections and using ILeadRepository and ILeadQueryRepository.
- Modified ReportService to leverage ICatalogoRepository for querying stored procedures.
- Streamlined UsuarioService to use IUsuarioRepository for user authentication and profile retrieval.
- Added new CatalogoService to handle various catalog-related queries and operations.
- Introduced ArqueoRepository and CatalogoRepository for managing database interactions.
- Created DTOs for various entities including Alumno, Contrato, Cotizacion, Descuento, Documento, Empresa, and Propuesta.
- Implemented BaseController and ErrorController for standardized API responses and error handling.
- Added QuestPDF package for PDF generation capabilities.
CRITICAL:
- JWT Secret vacio -> fallback seguro en Program.cs
- QuestPDF License -> inicializada como Community
- Transbank SPs en MySQL (no PostgreSQL) + MySqlConnector package
- GrabarVoucher: 15 parametros (estaban 8)
ALTO:
- JwtMiddleware registrado en pipeline
- AuthController.Perfil con [Authorize]
- LeadRepository.IngresarAsync: ExecuteReader -> Execute
- Casts directos en LeadQueryRepository -> double cast IDictionary
- EmailService: try-finally con DisconnectAsync
- DteController ruta: parametro codigo no usado -> corregido
MEDIO:
- Schema prefix faltante en Buscar_LeadDiarios
- appsettings secretos movidos a env vars
- http template eliminado
- Fono string en vez de int en EmpresaController
- model validation faltante
- Added ContratoRepository, CotizacionRepository, AlumnoRepository, UsuarioRepository (Infrastructure)
- Added IInformeRepository + InformeRepository for report SPs
- Refactored ContratoService, CotizacionService, AlumnoService, UsuarioService to use repos via DI
- Refactored InformeService, EmpresaReportService to use IInformeRepository
- Updated Program.cs DI to wire repos correctly with connection string factory
- Build: 0 errors
- ReportService with 3 QuestPDF report generators
- Contrato PDF with header, student info, and course table
- Cotización PDF with customer info, total, and detail table
- Arqueo PDF with cashier summary and payment method breakdowns
- ReportController with endpoints for PDF download
- Registered in DI
- LeadService with 15 SP calls (CRUD, actividades, pagos, montos)
- UsuarioService for login and profile queries
- JwtService for token generation with claims
- AuthController (login, perfil) with HttpOnly cookie
- LeadController (CRUD, actividades, estado, pago, contacto)
- Registered all services in DI (Program.cs)