← Projects

Budget Case Management System

A desktop system for end-to-end tracking of school budget audit cases.

Role · Freelance developer Date · January — September 2024 Stack · C# · .NET · WinForms · Entity Framework · SQL Server
C#.NETWinFormsEntity FrameworkSQL Server
Budget Case Management System

Problem

As a freelance developer, I was hired by the accounting firm A&M Consultores to replace manual tracking (loose spreadsheets and email follow-ups) of the full lifecycle of a school budget audit case: intake, assignment to a staff member, review, reassignment when someone is out, final delivery, and generating vouchers and reports — with no centralized visibility into each case's status or owner.

Solution

A C# / WinForms desktop application, built on a layered architecture (CapaPresentacion → CapaNegocios → CapaDatos → CapaEntidades, plus CapaUtilidades for cross-cutting concerns) on top of Entity Framework and SQL Server. It covers the full case lifecycle — cases pending delivery, delivered, and reviewed, reassignment between staff members, vouchers and notifications — with a dashboard showing indicators per staff member and per year, an audit module that traces every action, and report exports to Excel (EPPlus) and PDF (iTextSharp / PDFsharp). Role-based login, plus parameter administration (users, institutions) with support for restoring deactivated records. Distributed to end users via ClickOnce (installer with automatic updates).

Stack & Architecture

  • C# / WinForms on .NET Framework 4.7.2, with the UI built on Guna.UI2 controls.
  • Classic layered architecture: CapaPresentacion (forms), CapaNegocios (business rules per entity: cases, vouchers, reassignment, auditing, notifications...), CapaDatos (data access via Entity Framework), CapaEntidades (shared models/DTOs), and CapaUtilidades.
  • SQL Server as the database engine, with Entity Framework 6 (database-first model) and stored procedures for reporting queries.
  • Report generation: EPPlus for Excel and iTextSharp / PDFsharp for PDF, built from audit and case-delivery data.
  • Core modules: case management (pending / delivered / reviewed), case reassignment between staff members, vouchers, notifications, an indicator dashboard, auditing, and parameter management (users, institutions).
  • Deployed to end users via ClickOnce (setup.exe + .application manifest), with automatic version updates.

Challenges

Modeling a state flow that faithfully reflected the accounting firm's real process (intake, assignment, review, reassignment for absences, delivery) without losing traceability of who did what and when — solved with a dedicated audit module that logs every relevant transition. Another challenge was keeping strict layer separation in a WinForms project, where it's easy to end up coupling business logic directly to the forms; this was solved by centralizing rules in CapaNegocios and keeping the presentation layer focused solely on user interaction.