Beispiel #1
0
        public Backend(InstanceType instanceType, AppType appType)
        {
            settingsCollection  = SettingsCollectionSerializer.DeSerialize();
            trackUsage          = new TrackUsage(settingsCollection.AppSettings, settingsCollection.InternalSettings, instanceType, appType);
            versionControl      = new VersionControl(instanceType, appType, trackUsage);
            jiraTimerCollection = new JiraTimerCollection(settingsCollection.ExportSettings);
            jiraTimerCollection.exportPrompt += OnExportPromptEvent;
            jiraConnection                   = new JiraConnection(trackUsage);
            idleTimerCollection              = new IdleTimerCollection();
            ActivityChecker                  = new ActivityChecker(jiraTimerCollection, settingsCollection.AppSettings);
            ActivityChecker.NoActivityEvent += OnNoActivityEvent;
            hearbeat          = new Timer(1800000);
            hearbeat.Elapsed += HearbeatOnElapsed;
            hearbeat.Start();

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

            HearbeatOnElapsed(this, null);
        }
Beispiel #2
0
 internal JiraTimerCollection(ISettingsCollection settingsCollection, ITrackUsage trackUsage)
 {
     this.settingsCollection = settingsCollection;
     this.trackUsage         = trackUsage;
     timerList    = new List <JiraTimer>();
     isIntialised = false;
 }
Beispiel #3
0
 public JiraConnection(ITrackUsage trackUsage, IRecentJiraCollection recentJiraCollection)
 {
     this.trackUsage           = trackUsage;
     this.recentJiraCollection = recentJiraCollection;
     jiraProjectCodeCache      = new List <string>();
     lastCacheUpdate           = DateTime.MinValue;
 }
Beispiel #4
0
 public JiraConnection(ITrackUsage trackUsage)
 {
     this.trackUsage      = trackUsage;
     recentJiraCollection = new RecentJiraCollection();
     jiraProjectCache     = new List <JiraProject>();
     lastCacheUpdate      = DateTime.MinValue;
 }
        public VersionControl(InstanceType instanceType, ITrackUsage trackUsage)
        {
            this.trackUsage = trackUsage;
            InstanceType = instanceType;
            lastUpdateCheck = DateTime.MinValue;

            SetVersionName();

            var instance = InstanceType == InstanceType.Stable ? "" : $" ({InstanceType})";
            AppName = $"Gallifrey {instance}";
        }
Beispiel #6
0
        public VersionControl(InstanceType instanceType, AppType appType, ITrackUsage trackUsage)
        {
            this.trackUsage = trackUsage;
            InstanceType    = instanceType;
            AppType         = appType;
            lastUpdateCheck = DateTime.MinValue;

            SetVersionName();

            var instance = InstanceType == InstanceType.Stable ? "" : string.Format(" ({0})", InstanceType);
            var appName  = AppType == AppType.Classic ? "Gallifrey Classic" : "Gallifrey";

            AppName = string.Format("{0}{1}", appName, instance);
        }
Beispiel #7
0
        public VersionControl(InstanceType instanceType, AppType appType, ITrackUsage trackUsage)
        {
            this.trackUsage = trackUsage;
            InstanceType    = instanceType;
            AppType         = appType;
            lastUpdateCheck = DateTime.MinValue;

            SetVersionName();

            var instance = InstanceType == InstanceType.Stable ? "" : $" ({InstanceType})";
            var appName  = AppType == AppType.Classic ? "Gallifrey Classic" : "Gallifrey";

            AppName = $"{appName}{instance}";
        }
Beispiel #8
0
        public Backend(InstanceType instanceType)
        {
            settingsCollection = SettingsCollectionSerializer.DeSerialize();
            versionControl     = new VersionControl(instanceType);
            trackUsage         = new TrackUsage(versionControl, settingsCollection, instanceType);
            versionControl.UpdateCheckOccured += (sender, b) => trackUsage.TrackAppUsage(b ? TrackingType.UpdateCheckManual : TrackingType.UpdateCheck);

            jiraTimerCollection = new JiraTimerCollection(settingsCollection, trackUsage);
            jiraTimerCollection.exportPrompt += OnExportPromptEvent;
            jiraConnection      = new JiraConnection(trackUsage);
            idleTimerCollection = new IdleTimerCollection();
            ActivityChecker     = new ActivityChecker(jiraTimerCollection, settingsCollection);
            withThanksCreator   = new WithThanksCreator();
            premiumChecker      = new PremiumChecker();

            ActivityChecker.NoActivityEvent += OnNoActivityEvent;
            var cleanUpAndTrackingHeartbeat = new Timer(TimeSpan.FromMinutes(15).TotalMilliseconds);

            cleanUpAndTrackingHeartbeat.Elapsed += CleanUpAndTrackingHearbeatOnElapsed;
            cleanUpAndTrackingHeartbeat.Start();

            exportedHeartbeatMutex = new Mutex(false);
            var jiraExportHearbeat = new Timer(TimeSpan.FromMinutes(10).TotalMilliseconds);

            jiraExportHearbeat.Elapsed += JiraExportHearbeatHearbeatOnElapsed;
            jiraExportHearbeat.Start();

            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);
            }
        }
Beispiel #9
0
        public Backend(InstanceType instanceType)
        {
            settingsCollection   = new SettingsCollection(SettingsCollectionSerializer.DeSerialize());
            versionControl       = new VersionControl(instanceType);
            trackUsage           = new TrackUsage(versionControl, settingsCollection, instanceType);
            jiraTimerCollection  = new JiraTimerCollection(settingsCollection, trackUsage);
            recentJiraCollection = new RecentJiraCollection();
            jiraConnection       = new JiraConnection(trackUsage, recentJiraCollection);
            idleTimerCollection  = new IdleTimerCollection();
            ActivityChecker      = new ActivityChecker(jiraTimerCollection, settingsCollection);
            withThanksCreator    = new WithThanksCreator();

            versionControl.UpdateCheckOccured += (sender, b) => trackUsage.TrackAppUsage(b ? TrackingType.UpdateCheckManual : TrackingType.UpdateCheck);
            jiraTimerCollection.ExportPrompt  += OnExportPromptEvent;
            ActivityChecker.NoActivityEvent   += OnNoActivityEvent;

            cleanUpAndTrackingHeartbeat          = new Timer(TimeSpan.FromMinutes(15).TotalMilliseconds);
            cleanUpAndTrackingHeartbeat.Elapsed += CleanUpAndTrackingHeartbeatOnElapsed;

            exportedHeartbeatMutex       = new Mutex(false);
            jiraExportHeartbeat          = new Timer(TimeSpan.FromMinutes(10).TotalMilliseconds);
            jiraExportHeartbeat.Elapsed += JiraExportHeartbeatHeartbeatOnElapsed;
        }
Beispiel #10
0
        public Backend(InstanceType instanceType, AppType appType)
        {
            settingsCollection  = SettingsCollectionSerializer.DeSerialize();
            trackUsage          = new TrackUsage(settingsCollection.AppSettings, settingsCollection.InternalSettings, instanceType, appType);
            versionControl      = new VersionControl(instanceType, appType, trackUsage);
            jiraTimerCollection = new JiraTimerCollection(settingsCollection.ExportSettings, trackUsage);
            jiraTimerCollection.exportPrompt += OnExportPromptEvent;
            jiraConnection      = new JiraConnection(trackUsage);
            idleTimerCollection = new IdleTimerCollection();
            ActivityChecker     = new ActivityChecker(jiraTimerCollection, settingsCollection.AppSettings);
            withThanksCreator   = new WithThanksCreator();

            ActivityChecker.NoActivityEvent += OnNoActivityEvent;
            var cleanUpAndTrackingHearbeat = new Timer(1800000); // 30 minutes

            cleanUpAndTrackingHearbeat.Elapsed += CleanUpAndTrackingHearbeatOnElapsed;
            cleanUpAndTrackingHearbeat.Start();

            exportedHeartbeatMutex = new Mutex(false);
            var jiraExportHearbeat = new Timer(600000); //10 minutes

            jiraExportHearbeat.Elapsed += JiraExportHearbeatHearbeatOnElapsed;
            jiraExportHearbeat.Start();

            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);
            }
        }
Beispiel #11
0
 internal JiraTimerCollection(IExportSettings exportSettings, ITrackUsage trackUsage)
 {
     this.exportSettings = exportSettings;
     this.trackUsage     = trackUsage;
     timerList           = JiraTimerCollectionSerializer.DeSerialize();
 }
        public VersionControl(InstanceType instanceType, AppType appType, ITrackUsage trackUsage)
        {
            this.trackUsage = trackUsage;
            InstanceType = instanceType;
            AppType = appType;
            lastUpdateCheck = DateTime.MinValue;

            SetVersionName();

            var instance = InstanceType == InstanceType.Stable ? "" : string.Format(" ({0})", InstanceType);
            var appName = AppType == AppType.Classic ? "Gallifrey Classic" : "Gallifrey";

            AppName = string.Format("{0}{1}", appName, instance);
        }
Beispiel #13
0
 public JiraConnection(ITrackUsage trackUsage)
 {
     this.trackUsage      = trackUsage;
     recentJiraCollection = new RecentJiraCollection();
     jiraProjectCache     = new List <JiraProject>();
 }
Beispiel #14
0
        public Backend(InstanceType instanceType, AppType appType)
        {
            settingsCollection = SettingsCollectionSerializer.DeSerialize();
            trackUsage = new TrackUsage(settingsCollection.AppSettings, settingsCollection.InternalSettings, instanceType, appType);
            versionControl = new VersionControl(instanceType, appType, trackUsage);
            jiraTimerCollection = new JiraTimerCollection(settingsCollection.ExportSettings);
            jiraTimerCollection.exportPrompt += OnExportPromptEvent;
            jiraConnection = new JiraConnection(trackUsage);
            idleTimerCollection = new IdleTimerCollection();
            ActivityChecker = new ActivityChecker(jiraTimerCollection, settingsCollection.AppSettings);
            ActivityChecker.NoActivityEvent += OnNoActivityEvent;
            hearbeat = new Timer(1800000);
            hearbeat.Elapsed += HearbeatOnElapsed;
            hearbeat.Start();

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

            HearbeatOnElapsed(this, null);
        }
 internal JiraTimerCollection(IExportSettings exportSettings, ITrackUsage trackUsage)
 {
     this.exportSettings = exportSettings;
     this.trackUsage = trackUsage;
     timerList = JiraTimerCollectionSerializer.DeSerialize();
 }
Beispiel #16
0
        public Backend(InstanceType instanceType)
        {
            settingsCollection = SettingsCollectionSerializer.DeSerialize();
            trackUsage = new TrackUsage(settingsCollection.AppSettings, settingsCollection.InternalSettings, instanceType);
            versionControl = new VersionControl(instanceType, trackUsage);
            jiraTimerCollection = new JiraTimerCollection(settingsCollection.ExportSettings, trackUsage);
            jiraTimerCollection.exportPrompt += OnExportPromptEvent;
            jiraConnection = new JiraConnection(trackUsage);
            idleTimerCollection = new IdleTimerCollection();
            ActivityChecker = new ActivityChecker(jiraTimerCollection, settingsCollection.AppSettings);
            withThanksCreator = new WithThanksCreator();
            premiumChecker = new PremiumChecker();

            ActivityChecker.NoActivityEvent += OnNoActivityEvent;
            var cleanUpAndTrackingHearbeat = new Timer(TimeSpan.FromMinutes(15).TotalMilliseconds);
            cleanUpAndTrackingHearbeat.Elapsed += CleanUpAndTrackingHearbeatOnElapsed;
            cleanUpAndTrackingHearbeat.Start();

            exportedHeartbeatMutex = new Mutex(false);
            var jiraExportHearbeat = new Timer(TimeSpan.FromMinutes(10).TotalMilliseconds);
            jiraExportHearbeat.Elapsed += JiraExportHearbeatHearbeatOnElapsed;
            jiraExportHearbeat.Start();

            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);
            }
        }
Beispiel #17
0
 internal JiraTimerCollection(ISettingsCollection settingsCollection, ITrackUsage trackUsage)
 {
     this.settingsCollection = settingsCollection;
     this.trackUsage         = trackUsage;
     timerList = JiraTimerCollectionSerializer.DeSerialize();
 }
 public JiraConnection(ITrackUsage trackUsage)
 {
     this.trackUsage = trackUsage;
     recentJiraCollection = new RecentJiraCollection();
     jiraProjectCache = new List<JiraProject>();
     lastCacheUpdate = DateTime.MinValue;
 }
 public JiraConnection(ITrackUsage trackUsage)
 {
     this.trackUsage = trackUsage;
     recentJiraCollection = new RecentJiraCollection();
     jiraProjectCache = new List<JiraProject>();
 }