示例#1
0
 void SetCustomColumnValue(HPMUniqueID task, HPMProjectCustomColumnsColumn column, HPMString value)
 {
     switch (column.m_Type)
     {
         case EHPMProjectCustomColumnsColumnType::EHPMProjectCustomColumnsColumnType_DropList:
         {
             for (auto droplist_item : column.m_DropListItems)
             {
                 if (droplist_item.m_Name == value)
                 {
                     session_->TaskSetCustomColumnData(task, column.m_Hash, std::to_string(droplist_item.m_Id), false);
                     break;
                 }
             }
             break;
         }
         default:
             session_->TaskSetCustomColumnData(task, column.m_Hash, value, false);
     }
 }
示例#2
0
 void PriorityCopy()
 {
     auto project_id = FindProjectByName(project_);
     if (!project_id.IsValid())
         return;
     auto program_backlog_id = GetProductBacklog(project_id);
     if (!program_backlog_id.IsValid())
         return;
     auto destination_column = FindColumn(program_backlog_id, destination_);
     if (destination_column.m_Name == "")
         return;
     int count = 0;
     HPMUniqueID first;
     map<HPMUniqueID, HPMUniqueID> dictionary;
     for (auto task : session_->TaskRefUtilEnumChildren(program_backlog_id, true).m_Tasks)
     {
         auto previous = session_->TaskRefGetPreviousWorkPriorityID(task);
         dictionary[previous] = task;
         if (previous.m_ID == -2)
             first = task;
         count++;
     }
     if (dictionary.size() == 0)
     {
         wcout << "No items in backlog, nothing to do.\r\n";
         return;
     }
     vector<HPMUniqueID> sorted;
     auto item = first;
     while (dictionary.find(item) != dictionary.end())
     {
         sorted.push_back(item);
         item = dictionary[item];
     }
     if (dictionary.size() > 1)
         sorted.push_back(item);
     int index = 1;
     for (auto task_ref : sorted)
     {
         HPMUniqueID task = session_->TaskRefGetTask(task_ref);
         session_->TaskSetCustomColumnData(task, destination_column.m_Hash, to_string(index++), false);
     }
     wcout << "Copied: " << count << " tasks.\r\n";
 }