Ejemplo n.º 1
0
        /// <summary>
        /// Moves the selected task down in order within active task list.
        /// </summary>
        public void MoveDownTask()
        {
            TaskViewModel selectedTaskVM = ActiveTasks.FirstOrDefault(t => t.IsSelected == true);
            TaskViewModel nextTaskVM     = ActiveTasks[ActiveTasks.IndexOf(selectedTaskVM) + 1];

            if (selectedTaskVM != null && nextTaskVM != null)
            {
                int selectedSortOrder = selectedTaskVM.SortOrder.Value;
                int nextSortOrder     = nextTaskVM.SortOrder.Value;
                selectedTaskVM.SortOrder = nextSortOrder;
                selectedTaskVM.Save();
                nextTaskVM.SortOrder = selectedSortOrder;
                nextTaskVM.Save();
            }
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Moves the selected task up in order within active task list.
        /// </summary>
        public void MoveUpTask()
        {
            TaskViewModel selectedTaskVM = ActiveTasks.FirstOrDefault(t => t.IsSelected == true);
            TaskViewModel previousTaskVM = ActiveTasks[ActiveTasks.IndexOf(selectedTaskVM) - 1];

            if (selectedTaskVM != null && previousTaskVM != null)
            {
                int selectedSortOrder = selectedTaskVM.SortOrder.Value;
                int previousSortorder = previousTaskVM.SortOrder.Value;
                selectedTaskVM.SortOrder = previousSortorder;
                selectedTaskVM.Save();
                previousTaskVM.SortOrder = selectedSortOrder;
                previousTaskVM.Save();
            }
        }
Ejemplo n.º 3
0
        void GongSolutions.Wpf.DragDrop.IDropTarget.Drop(DropInfo dropInfo)
        {
            TaskViewModel sourceTask = (TaskViewModel)dropInfo.Data;
            int           oldIndex   = ActiveTasks.IndexOf(sourceTask);
            int           newIndex   = dropInfo.InsertIndex;

            if (oldIndex >= 0)
            {
                if (newIndex < oldIndex)
                {
                    // move the item up in the list toward the top
                    ActiveTasks.Move(oldIndex, newIndex);
                    List <TaskViewModel> tasksToSave = new List <TaskViewModel>();

                    // update our sort order values
                    for (int i = newIndex; i < oldIndex; i++)
                    {
                        TaskViewModel currentTaskVM    = ActiveTasks[i];
                        TaskViewModel nextTaskVM       = ActiveTasks[i + 1];
                        int           currentSortOrder = currentTaskVM.SortOrder.Value;
                        int           nextSortOrder    = nextTaskVM.SortOrder.Value;
                        currentTaskVM.SortOrder = nextSortOrder;
                        nextTaskVM.SortOrder    = currentSortOrder;
                        tasksToSave.Add(currentTaskVM);

                        if (i + 1 == oldIndex)
                        {
                            tasksToSave.Add(nextTaskVM);
                        }
                    }

                    foreach (TaskViewModel updatedTask in tasksToSave)
                    {
                        updatedTask.Save();
                    }
                }
                else if (newIndex > oldIndex)
                {
                    // move the item down in the list toward the bottom
                    ActiveTasks.Move(oldIndex, newIndex - 1);
                    List <TaskViewModel> tasksToSave = new List <TaskViewModel>();

                    // update our sort order values
                    for (int i = newIndex - 1; i > oldIndex; i--)
                    {
                        TaskViewModel currentTaskVM     = ActiveTasks[i];
                        TaskViewModel previousTaskVM    = ActiveTasks[i - 1];
                        int           currentSortOrder  = currentTaskVM.SortOrder.Value;
                        int           previousSortOrder = previousTaskVM.SortOrder.Value;
                        currentTaskVM.SortOrder  = previousSortOrder;
                        previousTaskVM.SortOrder = currentSortOrder;
                        tasksToSave.Add(currentTaskVM);

                        if (i - 1 == oldIndex)
                        {
                            tasksToSave.Add(previousTaskVM);
                        }
                    }

                    foreach (TaskViewModel updatedTask in tasksToSave)
                    {
                        updatedTask.Save();
                    }
                }
            }
        }
Ejemplo n.º 4
0
        bool CanMoveDownTask()
        {
            TaskViewModel selectedTask = ActiveTasks.Where(t => t.IsSelected == true).FirstOrDefault();

            return(selectedTask != null && (ActiveTasks.IndexOf(selectedTask) < (ActiveTasks.Count - 1)) && ActiveTasks.Count(t => t.IsSelected == true) == 1);
        }