SlaCore 1.0.0
dotnet add package SlaCore --version 1.0.0
NuGet\Install-Package SlaCore -Version 1.0.0
<PackageReference Include="SlaCore" Version="1.0.0" />
<PackageVersion Include="SlaCore" Version="1.0.0" />
<PackageReference Include="SlaCore" />
paket add SlaCore --version 1.0.0
#r "nuget: SlaCore, 1.0.0"
#:package SlaCore@1.0.0
#addin nuget:?package=SlaCore&version=1.0.0
#tool nuget:?package=SlaCore&version=1.0.0
SlaCalculator
SlaCalculator is a .NET library for computing Service Level Agreement (SLA) deadlines and evaluating SLA status (on-track, at-risk, breached). It supports both wall-clock and business-hours-aware calculations, configurable business days, hours and holidays.
Prerequisites
- .NET 8 SDK
Quick start
- Build the solution
dotnet build
- Run the example runner project
dotnet run --project src/SlaCore.Runner
Using the library
Add a project reference to the SlaCore library (from your application project):
dotnet add reference src/SlaCore/SlaCore.csproj
Sample code
using System;
using SlaCore;
using SlaCore.Models;
class Program
{
static void Main()
{
var started = DateTimeOffset.UtcNow;
// Use a predefined policy
var policy = SlaPolicy.High(); // 4 hours
// Compute deadline (wall-clock)
var deadline = SlaCalculator.CalculateSlaDeadline(started, policy);
Console.WriteLine($"Deadline: {deadline}");
// Evaluate status now
var result = SlaCalculator.Evaluate(started, policy);
Console.WriteLine(result);
// Business-hours example
var businessPolicy = SlaPolicy.High(businessHoursOnly: true, configure: p =>
{
p.BusinessHoursStart = TimeSpan.FromHours(9);
p.BusinessHoursEnd = TimeSpan.FromHours(17);
p.Holidays = new System.Collections.Generic.List<DateTime> { new DateTime(2024, 12, 25) };
});
var businessDeadline = SlaCalculator.CalculateSlaDeadline(started, businessPolicy);
Console.WriteLine($"Business-hours deadline: {businessDeadline}");
}
}
API highlights
SlaPolicy� create policies withSlaPolicy.Critical(),High(),Medium(),Low()and customizeSlaCalculator.CalculateSlaDeadline(startedAt, policy)� compute deadlineSlaCalculator.Evaluate(startedAt, policy)� getSlaResultwith status, elapsed and remaining time
License This repository is provided as-is.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. 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. |
| .NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
| .NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
| .NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
| MonoAndroid | monoandroid was computed. |
| MonoMac | monomac was computed. |
| MonoTouch | monotouch was computed. |
| Tizen | tizen40 was computed. tizen60 was computed. |
| Xamarin.iOS | xamarinios was computed. |
| Xamarin.Mac | xamarinmac was computed. |
| Xamarin.TVOS | xamarintvos was computed. |
| Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.0
- No dependencies.
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 1.0.0 | 35 | 9/5/2026 |
Release Notes
1.0.0
Initial release of the SLA Calculator library.
Features
SLA deadline calculation
Business hours support
Custom business days
Holiday exclusions
SLA priority levels
Configurable warning thresholds
SLA status evaluation