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