44 lines
1.2 KiB
C#
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;
|
|
}
|
|
}
|
|
}
|