Ejemplo n.º 1
0
 public override void OnTaskChangeCustomColumnData(TaskChangeCustomColumnDataEventArgs e)
 {
     if (initializationOK)
     {
         if (e.Data.m_ColumnHash == trackedColumn.m_Hash)
         {
             Task task = Task.GetTask(e.Data.m_TaskID);
             if (projects.Contains(task.Project) && projectViews.Contains(task.ProjectView))
             {
                 HPMSDKInternalData hid = GetCustomColumn(task);
                 task.SetCustomColumnValue(trackingColumn, DateTimeValue.FromHpmDateTime(task, trackingColumn, HPMUtilities.HPMNow()));
                 writeHIDStatus(task);
             }
         }
     }
 }
Ejemplo n.º 2
0
        private void DoUpdateFromHistory(Task task, HPMDataHistory history)
        {
            // Ensure that we get the custom column of the right project
            HPMProjectCustomColumnsColumn actualCustomColumn = task.ProjectView.GetCustomColumn(trackingColumn.m_Name);
            DateTimeValue storedValue = (DateTimeValue)task.GetCustomColumnValue(actualCustomColumn);
            // ToInt64 will return the value as microseconds since 1970 Jan 1
            ulong storedHpmTime = storedValue.ToHpmDateTime();

            if (history.m_Latests.m_Time > storedHpmTime)
            {
                foreach (HPMDataHistoryEntry entry in history.m_HistoryEntries)
                {
                    // Check if it is the status field
                    if (entry.m_FieldID == 15)
                    {
                        if (entry.m_Time > storedHpmTime)
                        {
                            storedHpmTime = entry.m_Time;
                            task.SetCustomColumnValue(trackingColumn, DateTimeValue.FromHpmDateTime(task, actualCustomColumn, storedHpmTime));
                        }
                    }
                }
            }
        }