public void Initialise() { settingsCollection.Initialise(); idleTimerCollection.Initialise(); jiraTimerCollection.Initialise(); recentJiraCollection.Initialise(); if (settingsCollection.InternalSettings.LastChangeLogVersion == new Version(0, 0, 0, 0) && settingsCollection.InternalSettings.NewUser) { throw new MissingConfigException("New User"); } jiraConnection.ReConnect(settingsCollection.JiraConnectionSettings, settingsCollection.ExportSettings); cleanUpAndTrackingHeartbeat.Start(); jiraExportHeartbeat.Start(); BackendModifiedTimers?.Invoke(this, null); if (Settings.AppSettings.TimerRunningOnShutdown.HasValue) { var timer = jiraTimerCollection.GetTimer(Settings.AppSettings.TimerRunningOnShutdown.Value); if (timer != null && timer.DateStarted.Date == DateTime.Now.Date) { JiraTimerCollection.StartTimer(Settings.AppSettings.TimerRunningOnShutdown.Value); } Settings.AppSettings.TimerRunningOnShutdown = null; SaveSettings(false, false); } if (Settings.AppSettings.NoTimerRunningOnShutdown.HasValue) { ActivityChecker.SetValue(Settings.AppSettings.NoTimerRunningOnShutdown.Value); Settings.AppSettings.NoTimerRunningOnShutdown = null; SaveSettings(false, false); } CleanUpAndTrackingHeartbeatOnElapsed(this, null); IsInitialised = true; Task.Run(() => { JiraExportHeartbeatHeartbeatOnElapsed(this, null); }); }