Exemplo n.º 1
0
 public bool AddTaskNode(HierarchyObject taskRelations, TaskObject taskToAdd, LevelObject levelToAddTo)
 {
     bool added = false;
     if (_allLevels.Count > 0)
     {
         foreach (LevelObject item in _allLevels)
         {
             if (item.UniqueId.Equals(levelToAddTo.UniqueId))
             {
                 bool valid = true;
                 foreach (HierarchyTaskObject items in item.LevelCollection)
                 {
                     if (taskRelations.UniqueId == items.hierarchyObj.UniqueId
                         && taskToAdd.UniqueId == items.taskObj.UniqueId)
                     {
                         valid = false;
                     }
                 }
                 if(valid == true)
                 {
                     HierarchyTaskObject TO = new HierarchyTaskObject(Guid.NewGuid().ToString(), taskRelations.Name+taskToAdd.Name);
                     TO.hierarchyObj = taskRelations;
                     TO.taskObj = taskToAdd;
                     AddToLevel(levelToAddTo, TO);
                     added = true;
                     break;
                 }
             }
         }
     }
     return added;
 }
Exemplo n.º 2
0
 private static void AddToLevel(LevelObject levelToAddTo, HierarchyTaskObject TO)
 {
     levelToAddTo.VisibleLevelCollection.Add(TO);
     levelToAddTo.LevelCollection.Add(TO);
 }
Exemplo n.º 3
0
 //check if attempted parent reconfiguration is valid
 public static bool ValidParentMove(HierarchyTaskObject change, string newParentid)
 {
     bool valid = false;
     int levelWithChange = 0;
     foreach (LevelObject level in _appDataSource.NodeManager.GetAllLevels)
     {
         bool changedValue = false;
         foreach (HierarchyTaskObject item in level.LevelCollection)
         {
             if (item.hierarchyObj.UniqueId.Equals(change.hierarchyObj.UniqueId))
             {
                 levelWithChange = Convert.ToInt32(level.Name);
                 changedValue = true;
                 break;
             }
         }
         if (changedValue == true)
         {
             break;
         }
     }
     for (int i = 0; i < levelWithChange + 1; i++)
     {
         bool found = false;
         //count through higher levels and check
         foreach (HierarchyTaskObject parentItem in _appDataSource.NodeManager.GetAllLevels[i].LevelCollection)
         {
             if (parentItem.hierarchyObj.CurrentNode.UniqueId.Equals(newParentid))
             {
                 valid = true;
                 found = true;
                 break;
             }
         }
         if (found)
         {
             break;
         }
     }
     return valid;
 }
Exemplo n.º 4
0
        public bool RemoveTaskNode(HierarchyTaskObject taskToRemove)
        {
            bool removed = false;

            if (_allLevels.Count > 0)
            {
                foreach (LevelObject element in _allLevels)
                {
                    foreach (HierarchyTaskObject item in element.LevelCollection)
                    {
                        if (taskToRemove.hierarchyObj.UniqueId == item.hierarchyObj.UniqueId
                            && taskToRemove.taskObj.UniqueId == item.taskObj.UniqueId)
                        {
                            //element.LevelCollection.Remove(taskToRemove);
                            taskToRemove.taskObj.Deleted = true;
                            UpdateVisibility();
                            removed = true;
                            break;
                        }
                    }
                    foreach (HierarchyTaskObject item in element.LevelCollection)
                    {
                        if (item.hierarchyObj.Parent != null)
                        {
                            if (item.hierarchyObj.Parent.UniqueId.Equals(taskToRemove.hierarchyObj.CurrentNode.UniqueId))
                            {
                                item.hierarchyObj.Parent = taskToRemove.hierarchyObj.Parent;
                            }
                            else
                            {
                                item.hierarchyObj.Parent = null;
                            }
                        }
                    }
                }
            }
            return removed;
        }
Exemplo n.º 5
0
 public static ObservableCollection<TaskObject> GetChildrenOfNode(HierarchyTaskObject nodeToGetChildrenOf)
 {
     return nodeToGetChildrenOf.hierarchyObj.Children;
 }