public static void RemoveTask(this MapNode node) { node.Tree.ChangeManager.StartBatch("Remove Task"); DueDateAttribute.RemoveDueDate(node); CompletionDateAttribute.RemoveCompletionDate(node); TaskStatusAttribute.RemoveTaskStatus(node); node.RemoveStartDate(); node.Tree.ChangeManager.EndBatch(); }
public static void AddTask(this MapNode node, DateTime dateTime) { if (!node.IsTaskPending()) { node.Tree.ChangeManager.StartBatch("Add Task"); DueDateAttribute.SetDueDate(node, dateTime); TaskStatusAttribute.SetTaskStatus(node, TaskStatus.Open); CompletionDateAttribute.RemoveCompletionDate(node); node.Tree.ChangeManager.EndBatch(); //node.AttributeBatchUpdate(new MapNode.Attribute[] // { // new MapNode.Attribute(DueDateAttribute.GetOrCreateAttributeSpec(node.Tree), DateHelper.ToString(dateTime)), // new MapNode.Attribute(TaskStatusAttribute.GetOrCreateAttributeSpec(node.Tree), TaskStatus.Open.ToString()) // }, // new MapTree.AttributeSpec[] // { // CompletionDateAttribute.GetOrCreateAttributeSpec(node.Tree) // }); } else { node.Tree.ChangeManager.StartBatch("Update Task Due Date"); if (node.StartDateExists()) { TimeSpan duration = node.GetDueDate() - node.GetStartDate(); node.SetStartDate(dateTime.Subtract(duration)); } DueDateAttribute.SetDueDate(node, dateTime); node.Tree.ChangeManager.EndBatch(); } }