Skip to content

Repository files navigation

Invert911

C#/.NET/WPF client-server application for law enforcement incident reporting, dispatch (CAD), and field interview management. Includes SQLite sync, reporting, and a companion ASP.NET web portal.


Overview

Invert911 is a comprehensive law enforcement records management system built with .NET Framework 4.5. It provides:

  • WPF Desktop Clients — Rich desktop applications for incident entry, dispatch operations, field interviews, and administrative tasks
  • Business & Data Layers — Shared libraries (InvertCommon, InvertBusinessLayer) containing domain models, data access (Entity Framework 5 + SQLite), messaging, and synchronization logic
  • ASP.NET Web Portal (InvertWebCloud) — Companion web application for reporting, documentation, issue tracking, and media management
  • Offline-First Sync — SQLite Compact / SQLite synchronization for mobile/field use with server reconciliation
  • Dynamic Forms Engine — Configurable dynamic entry forms with validation rules for citations, incidents, arrests, and more

Repository Structure

Path Purpose
I9.sln Visual Studio 2012/2013 solution (10+ projects)
InvertCommon/ Core shared library: data classes, framework, modules, messaging, sync, reports, themes
InvertBusinessLayer/ Business logic & data access layer (BLL/DAL), service framework
InvertClient/ Primary WPF desktop client (Invert911)
InvertClientCloud/ Cloud/roaming-enabled WPF client variant
InvertClientLite/ Lightweight field client ("PolicePad")
InvertInstaller/ Installation project
InvertWebCloud/ ASP.NET Web Forms portal (reports, docs, issue tracker, media)
packages/ NuGet packages (EntityFramework 5, SQLite, iTextSharp)
BuildProcessTemplates/ TFS build templates
ExternalFiles/ External dependencies
Tools/ Utility scripts

Key Technologies

Layer Stack
Desktop UI WPF (XAML), .NET Framework 4.5
Web Portal ASP.NET Web Forms 4.5, ASMX web services
Data Access Entity Framework 5 (Code First), System.Data.SQLite / SQL Server Compact
Sync Custom SQLite ↔ SQL Server sync engine (SyncSQLite.cs, SyncSQLCompact.cs)
Reporting iTextSharp (PDF), custom report engine
Messaging Custom message framework (i9Message, i9MessageManager)
Build MSBuild, TFS Build Process Templates

Core Domain Models (In InvertCommon/DataTypes/DataClasses/)

  • Incidents & CADi9LawIncident, i9CADServiceCall, i9CADUnit, i9Event, i9AVL (automatic vehicle location)
  • Citations & Arrestsi9Citation, i9Arrest, i9ArrestReport, i9Charge
  • Persons & Vehiclesi9Person, i9PersonArrestee, i9Vehicle, i9VehicleTowed, i9VehicleRecovery
  • Property & Evidencei9Property, i9PropertyEvidence, i9PropertyFirearm, i9PropertyExplosive
  • Administrationi9Agency, i9SecurityGroup, i9SysPersonnel, i9Module, i9ConfigurationSetting
  • Dynamic Formsi9DynamicEntry, i9DynamicEntryConfig, i9DynamicEntryRule, validation engine

Modules (WPF Feature Areas)

  • CAD — Dispatch window, command window, unit status, AVL, events, BOLO, briefing
  • Law Enforcement — Incident workspace, citation entry/workspace, arrest, field contact, gang, warrant, pawn, sex offender, property room, photo line-up
  • Admin — Agency, codes, personnel, security, schedules, dynamic entry config, system keys, logs
  • Common — Person/vehicle/property/location management, attachments, narratives, dynamic entry
  • Utilities — Ad-hoc reporting, SQL documentation, module manager

Getting Started

Prerequisites

  • Visual Studio 2012/2013 (or newer with .NET Framework 4.5 targeting pack)
  • SQL Server 2008+ (or SQL Server Express) for the central database
  • Windows 7/8/10 for WPF clients

Build

  1. Open I9.sln in Visual Studio
  2. Restore NuGet packages (EntityFramework 5, SQLite, iTextSharp are committed in packages/)
  3. Build solution (Debug/Release, x86/x64)

Database Setup

The application expects a SQL Server database. Connection strings are managed via ConfigurationManager in InvertBusinessLayer/ServiceFramework/ConfigurationManager.cs and InvertCommon/Framework/Utilities/ConfigurationManager.cs.

Running the Web Portal

Deploy InvertWebCloud/ to IIS with .NET 4.5 application pool. Configure Web.config connection strings to point at the same database used by the desktop clients.


License

GNU General Public License v2.0 (GPL-2.0) — see LICENSE file.


Note

This is a legacy codebase (circa 2014) built for .NET Framework 4.5. It may require updates to run on modern .NET versions or with current tooling. The repository is preserved for reference and historical purposes.

About

C#/.NET/WPF client-server application for law enforcement incident reporting, dispatch (CAD), and field interview management. Includes SQLite sync, reporting, and a companion ASP.NET web portal.

Topics

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages