Gestión de Casos Presupuestarios
Sistema de escritorio para dar seguimiento de punta a punta a auditorías presupuestarias de escuelas.
Problema
Como desarrollador freelance, me contrató la oficina contable A&M Consultores para reemplazar el control manual (hojas de cálculo sueltas y seguimiento por correo) del ciclo completo de una auditoría presupuestaria de escuelas: recepción del caso, asignación a un colaborador, revisión, reasignación cuando alguien se ausenta, entrega final y generación de boletas y reportes — sin visibilidad centralizada de en qué estado estaba cada caso ni quién lo tenía a cargo.
Solución
Una aplicación de escritorio en C# / WinForms, con arquitectura por capas (CapaPresentacion → CapaNegocios → CapaDatos → CapaEntidades, más CapaUtilidades para funciones transversales) sobre Entity Framework y SQL Server. Cubre el ciclo de vida completo de un caso — casos por entregar, entregados y revisados, reasignación entre colaboradores, boletas y notificaciones — con un dashboard con indicadores por colaborador y por año, un módulo de auditoría que deja rastro de cada acción, y exportación de reportes a Excel (EPPlus) y PDF (iTextSharp / PDFsharp). Login con roles, y administración de parámetros (usuarios, instituciones) con soporte para restaurar registros dados de baja. Se distribuye a los usuarios finales vía ClickOnce (instalador con actualización automática).
Stack y arquitectura
- C# / WinForms sobre .NET Framework 4.7.2, con UI construida sobre Guna.UI2 para los controles.
- Arquitectura por capas clásica:
CapaPresentacion(formularios),CapaNegocios(reglas de negocio por entidad: casos, boletas, reasignación, auditoría, notificaciones...),CapaDatos(acceso a datos vía Entity Framework),CapaEntidades(modelos/DTOs compartidos) yCapaUtilidades. - SQL Server como motor de base de datos, con Entity Framework 6 (modelo por base de datos) y procedimientos almacenados para consultas de reporting.
- Generación de reportes: EPPlus para Excel y iTextSharp / PDFsharp para PDF, a partir de los datos de auditoría y entrega de casos.
- Módulos principales: gestión de casos (por entregar / entregados / revisados), reasignación de casos entre colaboradores, boletas, notificaciones, dashboard de indicadores, auditoría y parametrización (usuarios, instituciones).
- Despliegue a los usuarios finales mediante ClickOnce (
setup.exe+ manifiesto.application), con actualización automática de versión.
Retos
Modelar un flujo de estados que reflejara fielmente el proceso real de la oficina contable (recepción, asignación, revisión, reasignación por ausencias, entrega) sin perder trazabilidad de quién hizo qué y cuándo — resuelto con un módulo de auditoría dedicado que registra cada transición relevante. Otro reto fue mantener la separación de capas estricta en un proyecto WinForms, donde es fácil terminar acoplando lógica de negocio directamente a los formularios; se resolvió centralizando las reglas en CapaNegocios y dejando la capa de presentación enfocada solo en la interacción con el usuario.