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