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; } } }