Exemple #1
0
        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);
        }
Exemple #2
0
        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
                            });
                        }
                    }
                }
            }
        }
Exemple #3
0
 private static void OnAttributeValueUpdated(MapNode node, AttributeChangeEventArgs e)
 {
     if (e.AttributeSpec.IsTaskStatus())
     {
         if (node.GetTaskStatus() == TaskStatus.Complete && !node.CompletionDateExists())
         {
             CompletionDateAttribute.SetCompletionDate(node, DateTime.Now);
         }
     }
 }
Exemple #4
0
 /// <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);
     }
 }
Exemple #5
0
 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);
         }
     }
 }
Exemple #6
0
 public static bool IsTaskComplete(this MapNode node)
 {
     return(node.CompletionDateExists());
 }
Exemple #7
0
 public static bool IsTaskPending(this MapNode node)
 {
     return(node.DueDateExists() && !node.CompletionDateExists());
 }