Beispiel #1
0
        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); });
        }