private void DoUpdateFromHistory(Task task) { if (debug) { Console.WriteLine("+" + task.Name); } HPMSDKInternalData hid = GetCustomColumn(task); if ((hid.m_Data != null) && hid.m_Data.Length > 1 && BitConverter.ToInt32(hid.m_Data, 0) < task.LastUpdated.ToLocalTime().Ticks) { HPMDataHistoryGetHistoryParameters pars = new HPMDataHistoryGetHistoryParameters(); pars.m_DataID = task.UniqueTaskID; pars.m_FieldID = EHPMStatisticsField.NoStatistics; pars.m_FieldData = 0; pars.m_DataIdent0 = EHPMStatisticsScope.NoStatisticsScope; pars.m_DataIdent1 = 0; HPMDataHistory history = SessionManager.Session.DataHistoryGetHistory(pars); if (history != null) { DoUpdateFromHistory(task, history); } writeHIDStatus(task); } else if (hid.m_Data == null) { writeHIDStatus(task); } else if (hid.m_Data.Length <= 1) { writeHIDStatus(task); } }
public static void writeHIDStatus(Task task) { HPMSDKInternalData hid = new HPMSDKInternalData(); hid.m_Data = BitConverter.GetBytes(DateTime.Now.AddSeconds(5).ToLocalTime().Ticks); try { SessionManager.Session.TaskSetSDKInternalData(task.UniqueTaskID, "LastStatusUpdated", hid); } catch (HPMSdkException ee) { Console.WriteLine(ee.Message); } }
public static void writeHIDStatus(Task task) { HPMSDKInternalData hid = new HPMSDKInternalData(); hid.m_Data = BitConverter.GetBytes(DateTime.Now.AddSeconds(5).ToLocalTime().Ticks); try { SessionManager.Session.TaskSetSDKInternalData(task.UniqueTaskID, "LastStatusUpdated", hid); } catch (HPMSdkException ee) { Console.WriteLine(ee.Message); } }
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); } } } }
private static HPMSDKInternalData GetCustomColumn(Task task) { HPMSDKInternalData hid = null; try { hid = SessionManager.Session.TaskGetSDKInternalData(task.UniqueTaskID, "LastStatusUpdated"); } catch (HPMSdkException e) { hid = new HPMSDKInternalData(); hid.m_Data = BitConverter.GetBytes(0); } if (hid == null) { hid = new HPMSDKInternalData(); hid.m_Data = BitConverter.GetBytes(0); } return(hid); }
private static HPMSDKInternalData GetCustomColumn(Task task) { HPMSDKInternalData hid = null; try { hid = SessionManager.Session.TaskGetSDKInternalData(task.UniqueTaskID, "LastStatusUpdated"); } catch (HPMSdkException e) { hid = new HPMSDKInternalData(); hid.m_Data = BitConverter.GetBytes(0); } if (hid == null) { hid = new HPMSDKInternalData(); hid.m_Data = BitConverter.GetBytes(0); } return hid; }