private void AddChildTask(object obj) { FilterTaskText = ""; FilterTree(obj); Task newTask = new Task(); newTask.ParentTaskID = SelectedTaskNode.Task.ID; newTask.TaskName = "Новая подзадача"; newTask.CreateDate = DateTime.Now; int newIndexNumber = TasksVM.DictionaryFull.Max(t => (int)t.Value.Task.IndexNumber) + 1; if (SelectedTaskNode.TreeNodes.Count > 0) { newIndexNumber = SelectedTaskNode.TreeNodes.Max(n => (int)n.Task.IndexNumber) + 1; } else { newIndexNumber = (int)SelectedTaskNode.Task.IndexNumber + 1; } newTask.IndexNumber = newIndexNumber; dialog = new View.AddDialogWindow(new TaskDialogViewModel(this, newTask, TaskCommandEnum.Add, SelectedTaskNode)); dialog.Show(); }
private void AddNearTask(object obj) { FilterTaskText = ""; FilterTree(obj); Task newTask = new Task(); if (SelectedTaskNode != null && SelectedTaskNode.Task.ID != SelectedTaskNode.Task.ParentTaskID) { newTask.ParentTaskID = SelectedTaskNode.Task.ParentTaskID; } newTask.TaskName = "Новая задача"; newTask.CreateDate = DateTime.Now; int newIndexNumber = TasksVM.DictionaryFull.Max(t => (int)t.Value.Task.IndexNumber) + 1; if (newTask.ParentTaskID != null) { var parentNode = TasksVM.DictionaryFull.FirstOrDefault(n => n.Value.Task.ID == newTask.ParentTaskID).Value; if (parentNode != null) { newIndexNumber = parentNode.TreeNodes.Max(n => (int)n.Task.IndexNumber) + 1; } } newTask.IndexNumber = newIndexNumber; dialog = new View.AddDialogWindow(new TaskDialogViewModel(this, newTask, TaskCommandEnum.Add, SelectedTaskNode.ParentNode)); dialog.Show(); }