Пример #1
0
        private void Window_Loaded(object sender, RoutedEventArgs e)
        {
            //Import configuration into temporary variables
            iWorkDuration  = UserData.getWorkDuration();
            cTrayIconColor = UserData.getTrayIconColor();
            lBreak         = new ObservableCollection <Break>(UserData.getBreaks());
            lSubtitle      = new ObservableCollection <Subtitle>(UserData.getSubtitles());
            lThreshold     = new ObservableCollection <Threshold>(UserData.getThresholds());

            //Intitialize user control values
            iudWorkDuration.Value    = iWorkDuration;
            cpTrayIcon.SelectedColor = cTrayIconColor;
            lvBreaks.ItemsSource     = lBreak;
            lvSubtitles.ItemsSource  = lSubtitle;
            lvThresholds.ItemsSource = lThreshold;
        }
Пример #2
0
        public static TimeSpan getWorkTimeElapsed(DateTime dtStartTime)
        {
            if (!getIsStarted())
            {
                return(TimeSpan.Zero);
            }

            DateTime dtEndTime = DateTime.Now;

            foreach (Break lBreak in UserData.getBreaks())
            {
                if ((!lBreak.enabled || !(DateTime.Now.TimeOfDay > lBreak.starttime.TimeOfDay) || !(dtStartTime.TimeOfDay < lBreak.starttime.TimeOfDay) ? false : getWorkTimeEnd(dtStartTime).TimeOfDay > lBreak.starttime.TimeOfDay))
                {
                    dtEndTime = dtEndTime.Subtract(lBreak.duration);
                }
            }

            return(dtEndTime - dtStartTime);
        }
Пример #3
0
        public static DateTime getWorkTimeEnd(DateTime dtStartTime)
        {
            if (!getIsStarted())
            {
                return(DateTime.MinValue);
            }

            DateTime dtEndTime = dtStartTime.AddMinutes(UserData.getWorkDuration());

            foreach (Break lBreak in UserData.getBreaks())
            {
                if ((!lBreak.enabled || !(dtStartTime.TimeOfDay < lBreak.starttime.TimeOfDay) ? false : dtEndTime.TimeOfDay >= lBreak.starttime.TimeOfDay))
                {
                    dtEndTime = dtEndTime.Add(lBreak.duration);
                }
            }

            return(dtEndTime);
        }