private CompletedTaskEventArgs GetEventArgs(MapNode node, CompletedTaskChange change, AttributeChangeEventArgs e) { completedTaskArgs.TaskChange = change; completedTaskArgs.OldTaskStatus = (e.AttributeSpec.IsTaskStatus() && e.oldValue != null) ? (TaskStatus)Enum.Parse(typeof(TaskStatus), e.oldValue) : node.GetTaskStatus(); if (e.AttributeSpec.IsCompletionDate()) { if (e.oldValue == null) { completedTaskArgs.OldCompletionDate = DateTime.MinValue; } else { completedTaskArgs.OldCompletionDate = DateHelper.ToDateTime(e.oldValue); } } else { if (node.CompletionDateExists()) { completedTaskArgs.OldCompletionDate = node.GetCompletionDate(); } else { completedTaskArgs.OldCompletionDate = DateTime.MinValue; } } return(completedTaskArgs); }
private void Tree_NodePropertyChanged(MapNode node, NodePropertyChangedEventArgs e) { if (TaskTextChanged == null) { return; } if (e.ChangedProperty == NodeProperties.Text) { // update task title if (node.CompletionDateExists()) { TaskTextChanged(node, new TaskTextEventArgs() { ChangeType = TaskTextChange.TextChange, OldText = (string)e.OldValue }); } // update task parent if (node.HasChildren) { foreach (MapNode n in this) { if (n.IsDescendent(node)) { TaskTextChanged(n, new TaskTextEventArgs() { ChangeType = TaskTextChange.AncestorTextChange, ChangedAncestor = node, OldText = (string)e.OldValue }); } } } } }
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> /// End Date of the Task i.e. Due Date. If due date doesn't exits, then completion date is returned /// </summary> /// <param name="node"></param> /// <returns></returns> public static DateTime GetEndDate(this MapNode node) { if (node.DueDateExists()) { return(node.GetDueDate()); } else if (node.CompletionDateExists()) { return(node.GetCompletionDate()); } else { return(DateTime.MinValue); } }
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); } } }
public static bool IsTaskComplete(this MapNode node) { return(node.CompletionDateExists()); }
public static bool IsTaskPending(this MapNode node) { return(node.DueDateExists() && !node.CompletionDateExists()); }