コード例 #1
0
 public ExportSettings()
 {
     DefaultRemainingValue = DefaultRemaining.Set;
     ExportCommentPrefix = "Gallifrey";
     EmptyExportComment = "No Comment Entered";
     ExportPrompt = new ExportPrompt();
 }
コード例 #2
0
 public ExportSettings()
 {
     DefaultRemainingValue = DefaultRemaining.Set;
     ExportCommentPrefix   = "Gallifrey";
     EmptyExportComment    = "No Comment Entered";
     ExportPrompt          = new ExportPrompt();
 }
コード例 #3
0
        public void StopTimer(Guid uniqueId, bool automatedStop)
        {
            var timerForInteraction = GetTimer(uniqueId);
            var stopTime            = timerForInteraction.StopTimer();

            SaveTimers();
            if (settingsCollection.ExportSettings.ExportPrompt != null && settingsCollection.ExportSettings.ExportPrompt.OnStop && !timerForInteraction.FullyExported && !automatedStop && !timerForInteraction.LocalTimer)
            {
                ExportPrompt?.Invoke(this, new ExportPromptDetail(uniqueId, stopTime));
            }
        }
コード例 #4
0
        public void AddIdleTimer(Guid uniqueId, List <IdleTimer> idleTimers)
        {
            trackUsage.TrackAppUsage(TrackingType.LockedTimerAdd);
            var timer = GetTimer(uniqueId);

            foreach (var idleTimer in idleTimers)
            {
                timer.AddIdleTimer(idleTimer);
            }
            SaveTimers();
            if (settingsCollection.ExportSettings.ExportPrompt != null && settingsCollection.ExportSettings.ExportPrompt.OnAddIdle && !timer.FullyExported && !timer.LocalTimer)
            {
                var idleTime = new TimeSpan();
                idleTime = idleTimers.Aggregate(idleTime, (current, idleTimer) => current.Add(idleTimer.IdleTimeValue));
                ExportPrompt?.Invoke(this, new ExportPromptDetail(uniqueId, idleTime));
            }
        }
コード例 #5
0
        public Guid AddTimer(Issue jiraIssue, DateTime startDate, TimeSpan seedTime, bool startNow)
        {
            var newTimer = new JiraTimer(jiraIssue, startDate, seedTime);

            AddTimer(newTimer);
            if (startNow)
            {
                StartTimer(newTimer.UniqueId);
            }
            else
            {
                if (settingsCollection.ExportSettings.ExportPrompt != null && settingsCollection.ExportSettings.ExportPrompt.OnCreatePreloaded && !newTimer.FullyExported && !newTimer.LocalTimer)
                {
                    ExportPrompt?.Invoke(this, new ExportPromptDetail(newTimer.UniqueId, seedTime));
                }
            }
            return(newTimer.UniqueId);
        }
コード例 #6
0
        public bool AdjustTime(Guid uniqueId, int hours, int minutes, bool addTime)
        {
            var timer      = GetTimer(uniqueId);
            var adjustment = new TimeSpan(hours, minutes, 0);

            if (!timer.ManualAdjustment(adjustment, addTime))
            {
                return(false);
            }

            SaveTimers();
            if (settingsCollection.ExportSettings.ExportPrompt != null && settingsCollection.ExportSettings.ExportPrompt.OnManualAdjust && !timer.FullyExported && !timer.LocalTimer)
            {
                if (!addTime)
                {
                    adjustment = adjustment.Negate();
                }

                ExportPrompt?.Invoke(this, new ExportPromptDetail(uniqueId, adjustment));
            }

            return(true);
        }