public static void CompleteTask(this MapNode node) { node.Tree.ChangeManager.StartBatch("Complete Task"); CompletionDateAttribute.SetCompletionDate(node, DateTime.Now); TaskStatusAttribute.SetTaskStatus(node, TaskStatus.Complete); node.Tree.ChangeManager.EndBatch(); }
private static void OnAttributeValueUpdated(MapNode node, AttributeChangeEventArgs e) { if (e.AttributeSpec.IsTaskStatus()) { if (node.GetTaskStatus() == TaskStatus.Complete && !node.CompletionDateExists()) { CompletionDateAttribute.SetCompletionDate(node, DateTime.Now); } } }
/// <summary> /// Sets the DueDate or Completion Date depending on status (pending or complete) /// </summary> /// <param name="node"></param> /// <param name="value"></param> public static void SetEndDate(this MapNode node, DateTime value) { if (node.IsTaskComplete()) { CompletionDateAttribute.SetCompletionDate(node, value); } else { DueDateAttribute.SetDueDate(node, value); } }
private static void OnAttributeAdded(MapNode node, AttributeChangeEventArgs e) { if (e.AttributeSpec.IsDueDate()) { if (node.GetTaskStatus() == TaskStatus.None) { TaskStatusAttribute.SetTaskStatus(node, TaskStatus.Open); } } else if (e.AttributeSpec.IsTaskStatus()) { if (node.GetTaskStatus() == TaskStatus.Complete && !node.CompletionDateExists()) { CompletionDateAttribute.SetCompletionDate(node, DateTime.Now); } } }