Files
C4IT-F4SD-Client/FasdDesktopUi/Basics/Services/Models/TicketOverviewSettingsProvider.cs
2026-02-13 09:06:36 +01:00

44 lines
1.2 KiB
C#

using System;
using System.Diagnostics;
using C4IT.FASD.Base;
namespace FasdDesktopUi.Basics.Services.Models
{
internal interface ITicketOverviewSettingsProvider
{
int GetPollingMinutes(TileScope scope);
}
internal sealed class TicketOverviewSettingsProvider : ITicketOverviewSettingsProvider
{
public int GetPollingMinutes(TileScope scope)
{
int minutes = scope == TileScope.Role
? cF4sdTicketConfig.DefaultOverviewPollingRole
: cF4sdTicketConfig.DefaultOverviewPollingPersonal;
try
{
var ticketConfig = cFasdCockpitConfig.Instance?.Global?.TicketConfiguration;
if (ticketConfig != null)
{
minutes = scope == TileScope.Role
? ticketConfig.OverviewPollingRole
: ticketConfig.OverviewPollingPersonal;
}
}
catch (Exception ex)
{
Debug.WriteLine($"[TicketOverview] Settings fallback to defaults: {ex.Message}");
}
if (minutes < 1)
{
minutes = 1;
}
return minutes;
}
}
}