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
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Davasorus.Utility.DotNet.Contracts.Types" Version="2026.2.1.4" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Davasorus.Utility.DotNet.Contracts.Types" Version="2026.2.1.4" />
                    
Directory.Packages.props
<PackageReference Include="Davasorus.Utility.DotNet.Contracts.Types" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Davasorus.Utility.DotNet.Contracts.Types --version 2026.2.1.4
                    
#r "nuget: Davasorus.Utility.DotNet.Contracts.Types, 2026.2.1.4"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package Davasorus.Utility.DotNet.Contracts.Types@2026.2.1.4
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Davasorus.Utility.DotNet.Contracts.Types&version=2026.2.1.4
                    
Install as a Cake Addin
#tool nuget:?package=Davasorus.Utility.DotNet.Contracts.Types&version=2026.2.1.4
                    
Install as a Cake Tool

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 execution
  • AutomationTaskModel - Currently running tasks
  • AutomationHistoryModel - Completed task history
  • AutomationErrorModel - Task error records
  • RecurringProcessModel - CRON-based recurring jobs
  • ScheduleQueueModel / ScheduleQueueHistoryModel - Scheduled work items
  • ImmediateActionQueueModel / ImmediateActionTaskModel / ImmediateActionHistoryModel - Low-latency (2-second) action pipeline

Database Operations

  • DBBackUpSettingsModel - Backup configuration for ESS, GMA, MSP, MDS, CAD, Mobile, RMS, TCM, and Interfaces databases
  • DataBaseBackUpHistoryModel - Backup operation history
  • DataBaseRestoreHistoryModel - Restore operation history
  • ElasticSnapShotSettingModel - Elasticsearch/OpenSearch snapshot settings

Message Queue and Reporting

  • TrelloMessageQueueModel - Error/recommendation messages for Trello queue processing
  • TrelloMessageQueueResponseModel - Trello card creation responses
  • SqsMessageHistory - AWS SQS message history with ML.NET error categorization

Service Infrastructure

  • ServiceDiscoveryModel - Service discovery registration
  • ServiceServersModel - Server stop/start configuration
  • RemoteHostRequestModel / RemoteHostTaskRequestModel / RemoteHostTaskQueueModel - Remote host task execution
  • OriFdidCopySettingsModel - ORI/FDID copy operation configuration
  • DbFeatures - Feature toggle configuration

IMS Models

Models for the IMS (Infrastructure Management System):

  • ImsServer, ImsRealm, ImsPartition - Infrastructure topology
  • ImsSoftware, ImsMetaSoftware - Software version management
  • ImsTask - Task execution records
  • ImsMessage - System messages

Application Lifecycle

  • AppHistory / Archived_AppHistory - Application version history
  • AppPub / DevAppPub - Published application versions
  • AppDocument / AppUpload / DevAppUpload - Application file management
  • AppDownloadHistory - Download tracking
  • AccessHistoryModel - User access auditing
  • ProcessHistoryModel - 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 (SecureString properties)
  • DeployUiObj - Service deployment credentials
  • OriFdidCopyUiObject - ORI/FDID copy operation state
  • AutomatedErrorObj - Error reporting state
  • ManualSubmissionObj - Manual error submission data
  • UpdateResult - Update notification state

Configuration and Data Transfer

  • ConfigFileObj - Application configuration (server names, auth settings)
  • CustomRestoreDbObj / RestoreDbObj - Database restore configuration
  • DatabaseVersions - Version migration tracking
  • FileStorageSettingsModel - File storage copy configuration
  • IncludedTables - Table inclusion for data operations
  • SpaceObj - Database space information
  • SqlConfiguration - SQL Server configuration with encryption support
  • IpInfoObj - IP geolocation data
  • ApiObj - Application information DTO
  • TrelloErrorDisplayObj - 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 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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

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