예제 #1
0
        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);
        }
예제 #2
0
        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);
        }
예제 #3
0
        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);
        }
예제 #4
0
        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);
            }
        }