コード例 #1
0
        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);
     }
 }
コード例 #3
0
        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);
            }
        }
コード例 #4
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);
             }
         }
     }
 }
コード例 #5
0
        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;
 }