private void CleanUpAndTrackingHearbeatOnElapsed(object sender, ElapsedEventArgs e) { try { jiraTimerCollection.RemoveTimersOlderThanDays(settingsCollection.AppSettings.KeepTimersForDays); idleTimerCollection.RemoveOldTimers(); jiraConnection.UpdateCache(); var runningTimerId = jiraTimerCollection.GetRunningTimerId(); if (runningTimerId.HasValue) { var runningTimer = jiraTimerCollection.GetTimer(runningTimerId.Value); if (runningTimer.DateStarted.Date != DateTime.Now.Date) { jiraTimerCollection.StopTimer(runningTimerId.Value, true); jiraTimerCollection.StartTimer(runningTimerId.Value); } } if (settingsCollection.InternalSettings.LastHeartbeatTracked.Date < DateTime.UtcNow.Date) { DailyTrackingEvent?.Invoke(this, null); trackUsage.TrackAppUsage(TrackingType.DailyHearbeat); settingsCollection.InternalSettings.LastHeartbeatTracked = DateTime.UtcNow; settingsCollection.SaveSettings(); } } catch { /*Surpress Errors, if this fails timers won't be removed*/ } }
private void CleanUpAndTrackingHearbeatOnElapsed(object sender, ElapsedEventArgs e) { try { jiraTimerCollection.RemoveTimersOlderThanDays(settingsCollection.AppSettings.KeepTimersForDays); idleTimerCollection.RemoveOldTimers(); jiraConnection.UpdateCache(); var runningTimerId = jiraTimerCollection.GetRunningTimerId(); if (runningTimerId.HasValue) { var runningTimer = jiraTimerCollection.GetTimer(runningTimerId.Value); if (runningTimer.DateStarted.Date != DateTime.Now.Date) { jiraTimerCollection.StopTimer(runningTimerId.Value, true); jiraTimerCollection.StartTimer(runningTimerId.Value); } } BackendModifiedTimers?.Invoke(this, null); if (settingsCollection.InternalSettings.LastHeartbeatTracked.Date < DateTime.UtcNow.Date) { if (versionControl.IsAutomatedDeploy && jiraConnection.IsConnected) { DailyTrackingEvent?.Invoke(this, null); trackUsage.TrackAppUsage(TrackingType.DailyHearbeat); settingsCollection.InternalSettings.SetLastHeartbeatTracked(DateTime.UtcNow); settingsCollection.SaveSettings(); } } var isPremium = premiumChecker.CheckIfPremium(settingsCollection.InstallationHash); if (isPremium != settingsCollection.InternalSettings.IsPremium) { settingsCollection.InternalSettings.SetIsPremium(isPremium); settingsCollection.SaveSettings(); IsPremiumChanged?.Invoke(this, null); } } catch { /*Surpress Errors, if this fails timers won't be removed*/ } }