private void StartThisItem()
        {
            // Mark this item as IsRunning.
            // Create a new Action Item Action for the start event.
            // Raise event to get the action added to the daily timeline
            var actionToRaise = RaiseNewAction(DailyListItemActionType.Start);

            using (var itemModel = new DailyListContext())
            {
                _ItemToDisplay.Actions.Add(actionToRaise);
                _ItemToDisplay.IsRunning = true;

                itemModel.Entry(_ItemToDisplay).State = EntityState.Modified;
                itemModel.SaveChanges();
            }

            OnActionAdded(actionToRaise);

            OnPropertyChanged(() => IsRunning);
            OnPropertyChanged(() => RunningTime);
        }
        private void StopThisItem()
        {
            var actionToRaise = RaiseNewAction(DailyListItemActionType.Stop);

            using (var itemModel = new DailyListContext())
            {
                _ItemToDisplay.Actions.Add(actionToRaise);
                _ItemToDisplay.IsRunning = false;
                itemModel.Entry(_ItemToDisplay).State = EntityState.Modified;
                itemModel.SaveChanges();
            }

            OnActionAdded(actionToRaise);

            OnPropertyChanged(() => IsRunning);
            OnPropertyChanged(() => RunningTime);
        }
        private void CompleteThisItem()
        {
            var actionToRaise = RaiseNewAction(DailyListItemActionType.Complete);

            using (var itemModel = new DailyListContext())
            {
                _ItemToDisplay.Actions.Add(actionToRaise);
                _ItemToDisplay.IsRunning = false;
                _ItemToDisplay.IsComplete = true;
                _ItemToDisplay.CompletedTime = SystemClock.Instance.Now;
                itemModel.Entry(_ItemToDisplay).State = EntityState.Modified;
                itemModel.SaveChanges();
            }

            OnActionAdded(actionToRaise);

            OnPropertyChanged(() => IsRunning);
            OnPropertyChanged(() => IsComplete);
            OnPropertyChanged(() => RunningTime);
            OnPropertyChanged(() => TotalTime);
            OnPropertyChanged(() => CompletedTime);
        }