Пример #1
0
 /// <summary>
 /// Clears all tracked events and periods and sets a new start event.
 /// <param name="startEvent">The new start event.</param>
 /// </summary>
 public void ClearTrackedState(TrackableEvent startEvent)
 {
     _events.Clear();
       _events.Add(startEvent);
       _completedPeriods.Clear();
       _currentTimePeriod = null;
 }
Пример #2
0
 /// <summary>
 /// Gets all tracked time periods.
 /// </summary>
 /// <param name="currentTime">Current time. Needed for calculating the
 /// duration of the current time period.</param>
 /// <returns>All time periods.</returns>
 public IList<TimePeriod> GetPeriods(DateTime currentTime)
 {
     IList<TimePeriod> periods = new List<TimePeriod>(_completedPeriods);
       if (_currentTimePeriod == null)
       {
     _currentTimePeriod = new TimePeriod(GetPeriodTypeFromEvent(LastEvent.Activity));
       }
       _currentTimePeriod.Duration = GetPeriodDuration(LastEvent.Time, currentTime);
       periods.Add(_currentTimePeriod);
       return periods;
 }
Пример #3
0
        /// <summary>
        /// Adds a trackable event to the time tracker.
        /// </summary>
        /// <param name="trackableEvent">Trackable event.</param>
        public void AddEvent(TrackableEvent trackableEvent)
        {
            TrackableEvent previousEvent = LastEvent;
              _events.Add(trackableEvent);

              TimePeriod newPeriod = new TimePeriod(GetPeriodTypeFromEvent(previousEvent.Activity),
                                            GetPeriodDuration(previousEvent.Time,
                                                              trackableEvent.Time));
              if (_currentTimePeriod != null)
              {
            newPeriod.IsWorkTime = _currentTimePeriod.IsWorkTime;
            _currentTimePeriod = null;
              }
              _completedPeriods.Add(newPeriod);
        }