Davasorus.Utility.DotNet.Contracts.Types
2026.2.1.4
dotnet add package Davasorus.Utility.DotNet.Contracts.Types --version 2026.2.1.4
NuGet\Install-Package Davasorus.Utility.DotNet.Contracts.Types -Version 2026.2.1.4
<PackageReference Include="Davasorus.Utility.DotNet.Contracts.Types" Version="2026.2.1.4" />
<PackageVersion Include="Davasorus.Utility.DotNet.Contracts.Types" Version="2026.2.1.4" />
<PackageReference Include="Davasorus.Utility.DotNet.Contracts.Types" />
paket add Davasorus.Utility.DotNet.Contracts.Types --version 2026.2.1.4
#r "nuget: Davasorus.Utility.DotNet.Contracts.Types, 2026.2.1.4"
#:package Davasorus.Utility.DotNet.Contracts.Types@2026.2.1.4
#addin nuget:?package=Davasorus.Utility.DotNet.Contracts.Types&version=2026.2.1.4
#tool nuget:?package=Davasorus.Utility.DotNet.Contracts.Types&version=2026.2.1.4
Davasorus.Utility.DotNet.Contracts.Types
Shared data contracts, entity models, and configuration types for Tyler Technologies' Enterprise Public Safety .NET 8+ applications. This package provides the common type definitions used across API services, desktop utilities, and web applications, ensuring consistent, strongly-typed data structures throughout the solution.
Installation
NuGet Package Manager
Install-Package Davasorus.Utility.DotNet.Contracts.Types
.NET CLI
dotnet add package Davasorus.Utility.DotNet.Contracts.Types
PackageReference
<PackageReference Include="Davasorus.Utility.DotNet.Contracts.Types" Version="*" />
Overview
Types are organized by deployment target:
| Namespace | Purpose | Type Count |
|---|---|---|
Tyler.Utility.DotNet.Contracts.Types.API |
Entity Framework database models, message queue models, automation/scheduling models, and service configuration | 40 |
Tyler.Utility.DotNet.Contracts.Types.Desktop |
WPF/WinForms UI binding objects (INotifyPropertyChanged), static state containers, and credential models |
48 |
Tyler.Utility.DotNet.Contracts.Types.Services |
Cross-cutting abstractions (e.g., ISystemClock) |
2 |
Tyler.Utility.DotNet.Contracts.Types.Web |
Web authentication configuration | 1 |
API Models
Database-backed entity models with Entity Framework attributes ([Table], [Key]) for use in API services and data access layers.
Core Entities
using Tyler.Utility.DotNet.Contracts.Types.API;
// Deployed utility registration
var info = new UtilityInfoModel
{
Utility_Name = "Prod to Test Utility",
Release_Number = "2026.2.01.02",
Working_Path = @"C:\NWS Install\Utilities\Prod to Test Utility.exe",
Update_ID = "46",
Download_ID = "37"
};
// Configuration settings (encrypted at rest, decrypted at runtime)
var setting = new UtilitySettingsModel
{
Settings_Id = 1,
Value = "encrypted-value",
Type = "awsAccessKeyID",
Usage = "api"
};
Automation and Scheduling
Models for the task automation pipeline (queue, execute, history):
AutomationQueueModel- Queued tasks awaiting executionAutomationTaskModel- Currently running tasksAutomationHistoryModel- Completed task historyAutomationErrorModel- Task error recordsRecurringProcessModel- CRON-based recurring jobsScheduleQueueModel/ScheduleQueueHistoryModel- Scheduled work itemsImmediateActionQueueModel/ImmediateActionTaskModel/ImmediateActionHistoryModel- Low-latency (2-second) action pipeline
Database Operations
DBBackUpSettingsModel- Backup configuration for ESS, GMA, MSP, MDS, CAD, Mobile, RMS, TCM, and Interfaces databasesDataBaseBackUpHistoryModel- Backup operation historyDataBaseRestoreHistoryModel- Restore operation historyElasticSnapShotSettingModel- Elasticsearch/OpenSearch snapshot settings
Message Queue and Reporting
TrelloMessageQueueModel- Error/recommendation messages for Trello queue processingTrelloMessageQueueResponseModel- Trello card creation responsesSqsMessageHistory- AWS SQS message history with ML.NET error categorization
Service Infrastructure
ServiceDiscoveryModel- Service discovery registrationServiceServersModel- Server stop/start configurationRemoteHostRequestModel/RemoteHostTaskRequestModel/RemoteHostTaskQueueModel- Remote host task executionOriFdidCopySettingsModel- ORI/FDID copy operation configurationDbFeatures- Feature toggle configuration
IMS Models
Models for the IMS (Infrastructure Management System):
ImsServer,ImsRealm,ImsPartition- Infrastructure topologyImsSoftware,ImsMetaSoftware- Software version managementImsTask- Task execution recordsImsMessage- System messages
Application Lifecycle
AppHistory/Archived_AppHistory- Application version historyAppPub/DevAppPub- Published application versionsAppDocument/AppUpload/DevAppUpload- Application file managementAppDownloadHistory- Download trackingAccessHistoryModel- User access auditingProcessHistoryModel- Process execution timing
Desktop Models
UI binding objects and state containers for WPF/WinForms desktop utilities.
Observable Objects (INotifyPropertyChanged)
Objects that support two-way data binding:
using Tyler.Utility.DotNet.Contracts.Types.Desktop;
// ORI list display
var ori = new OriListViewObj { Prefix = "IL", ORI = "IL1234567" };
ori.PropertyChanged += (s, e) => Console.WriteLine($"{e.PropertyName} changed");
// Service management
var service = new ServiceObj
{
ServerName = "APP01",
ServiceName = "NWSService",
Status = "Running",
Description = "NWS Application Service"
};
// Process status tracking
var process = new ProcessStatusObj
{
ProcessName = "Database Restore",
Status = "In Progress",
ElapsedTime = "00:05:23"
};
Other observable types: ChildAgencyObj, CurrentBackUpObj, OldBackUpObj, LoggingObj, EzLoggingObj, SqlLoggingObj, RestoreLogObj, SnackBarQueObj, UtilityProgressObj, TrelloErrorReportingObj, ApiHistoryObj, FileStorageObj, ServerObj, SqlScriptObj
Static State Containers
Singleton-pattern objects that hold shared application state:
BackUpObj- Multi-database backup status tracking (ESS, GMA, MSP, MDS, CAD, Mobile, RMS, TCM, Interfaces)DbRestoreUiObj- Database restore operation state (Kibana, SQL AG, restore paths)MasterUiObj- Main application state (connections, error reporting, versions)DbCredsObj- Secure database credentials (SecureStringproperties)DeployUiObj- Service deployment credentialsOriFdidCopyUiObject- ORI/FDID copy operation stateAutomatedErrorObj- Error reporting stateManualSubmissionObj- Manual error submission dataUpdateResult- Update notification state
Configuration and Data Transfer
ConfigFileObj- Application configuration (server names, auth settings)CustomRestoreDbObj/RestoreDbObj- Database restore configurationDatabaseVersions- Version migration trackingFileStorageSettingsModel- File storage copy configurationIncludedTables- Table inclusion for data operationsSpaceObj- Database space informationSqlConfiguration- SQL Server configuration with encryption supportIpInfoObj- IP geolocation dataApiObj- Application information DTOTrelloErrorDisplayObj- Error display formatting
Services
using Tyler.Utility.DotNet.Contracts.Types.Services;
// Testable time abstraction
public class MyService
{
private readonly ISystemClock _clock;
public MyService(ISystemClock clock) => _clock = clock;
public bool IsBusinessHours() =>
_clock.Now.Hour >= 8 && _clock.Now.Hour < 17;
}
// Registration
services.AddSingleton<ISystemClock, SystemClock>();
Web
using Tyler.Utility.DotNet.Contracts.Types.Web;
// Azure AD authentication configuration
var auth = new AuthConfig
{
Instance = "https://login.microsoftonline.com/",
TenantID = "your-tenant-id",
ClientID = "your-client-id",
ClientSecret = "your-client-secret",
ResourceID = "your-resource-id"
};
Settings (Build-Time Injection)
The Settings namespace contains configuration constants for API, Desktop, and Web contexts. These values are injected from GitHub Secrets at build time via template substitution and are compiled into the DLL.
Consumers access settings through the ApiSettings, GenericAppSettings, or WebSettings static classes:
using Tyler.Utility.DotNet.Contracts.Types.Settings.API;
// Settings are accessed as static properties returning UtilitySettingsModel
UtilitySettingsModel jiraReporter = ApiSettings.JiraSettings3;
UtilitySettingsModel awsKey = ApiSettings.AwsSettings1;
Settings categories:
- API - AWS SQS, Trello, Azure, JIRA configuration
- Desktop - Trello, SQS, and application-specific settings
- Web - Azure AD, Trello, SQS, and blob storage settings
Requirements
- .NET 8.0 or later
- Newtonsoft.Json 13.0.4 - JSON serialization
- System.Text.Json 10.0.2 - JSON serialization
License
Proprietary - Tyler Technologies, Inc.
Copyright (c) 2026 Tyler Technologies, Inc. All rights reserved.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net8.0
- Newtonsoft.Json (>= 13.0.4)
- System.Text.Json (>= 10.0.2)
NuGet packages (10)
Showing the top 5 NuGet packages that depend on Davasorus.Utility.DotNet.Contracts.Types:
| Package | Downloads |
|---|---|
|
Davasorus.Utility.Dotnet.Contracts.Collections
Collections of contract Types for TEPS Utilities |
|
|
Davasorus.Utility.DotNet.Encryption
Data Encryption and decryption for TEPS Utilities |
|
|
Davasorus.Utility.DotNet.SQS
Amazon SQS interaction for TEPS Utilities |
|
|
Davasorus.Utility.DotNet.Auth
Handles Authentication for TEPS Utilities |
|
|
Davasorus.Utility.DotNet.Api
API Interaction for TEPS Utilities with generic deserialization, configurable error reporting, and improved DI configuration. Supports REST, GraphQL, gRPC, WebSocket, SignalR, and SSE protocols. |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 2026.2.1.4 | 370 | 4/9/2026 |
| 2026.2.1.3 | 96 | 4/9/2026 |
| 2026.2.1.2 | 82 | 4/9/2026 |
| 2026.2.1.1 | 1,471 | 4/1/2026 |
| 2026.1.3.2 | 828 | 3/29/2026 |
| 2026.1.2.1 | 5,934 | 2/7/2026 |
| 2026.1.1.1 | 2,023 | 1/14/2026 |
| 2025.4.3.4 | 3,340 | 12/16/2025 |
| 2025.4.3.3 | 295 | 12/16/2025 |
| 2025.4.3.2 | 586 | 12/15/2025 |
| 2025.4.3.1 | 462 | 12/15/2025 |
| 2025.4.2.5 | 2,034 | 11/29/2025 |
| 2025.4.2.4 | 1,354 | 11/23/2025 |
| 2025.4.2.3 | 2,406 | 11/14/2025 |
| 2025.4.2.2 | 2,008 | 11/5/2025 |
| 2025.4.2.1 | 356 | 11/4/2025 |
| 3.25.2.5 | 12,656 | 5/30/2025 |
| 3.25.2.4 | 1,033 | 5/6/2025 |
| 3.25.2.3 | 715 | 4/28/2025 |