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 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 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); }
private DailyListItemAction RaiseNewAction(DailyListItemActionType type, string noteText = null) { DailyListItemAction actionToRaise = null; using (var itemModel = new DailyListContext()) { actionToRaise = itemModel.DailyListItemActions.Create(); actionToRaise.DailyListItemActionId = Guid.NewGuid(); actionToRaise.DailyListItemId = _ItemToDisplay.DailyListItemId; actionToRaise.Type = type; actionToRaise.Time = SystemClock.Instance.Now; actionToRaise.Text = noteText; itemModel.DailyListItemActions.Add(actionToRaise); itemModel.SaveChanges(); } actionToRaise.DailyListItem = _ItemToDisplay; return actionToRaise; }
public void AddNewItem(string itemText, bool startItemToo) { DailyListItem newListItem = null; using (var itemModel = new DailyListContext()) { newListItem = itemModel.DailyListItems.Create(); newListItem.DailyListItemId = Guid.NewGuid(); newListItem.CreatedTime = SystemClock.Instance.Now; newListItem.ItemText = itemText; itemModel.DailyListItems.Add(newListItem); itemModel.SaveChanges(); } var newItemVm = new DailyListItemViewModel(newListItem, Context); newItemVm.ActionAdded += ActionItemActionAdded; ItemsToDisplay.Add(newItemVm); if (startItemToo) { newItemVm.StartItem.Execute(null); } }