Exemplo n.º 1
0
        private bool ProcessTaskUpdate(Task task, UIExtension.UpdateType type)
        {
            if (!task.IsValid())
            {
                return(false);
            }

            CalendarItem item;
            UInt32       taskID = task.GetID();

            if (m_Items.TryGetValue(taskID, out item))
            {
                item.UpdateTaskAttributes(task, type, false);
            }
            else
            {
                item = new CalendarItem();
                item.UpdateTaskAttributes(task, type, true);
            }

            m_Items[taskID] = item;

            // Process children
            Task subtask = task.GetFirstSubtask();

            while (subtask.IsValid() && ProcessTaskUpdate(subtask, type))
            {
                subtask = subtask.GetNextTask();
            }

            return(true);
        }