예제 #1
0
        public static void CreateProxyItem(SprintSearchCollection SprintRefID, HPMUniqueID ProjectID, HPMUniqueID masterRefID)
        {
            HPMTaskCreateUnifiedReference parent = new HPMTaskCreateUnifiedReference();

            parent.m_bLocalID = false;
            parent.m_RefID    = SprintRefID.childID;

            HPMTaskCreateUnifiedReference prevTaskID = new HPMTaskCreateUnifiedReference();

            prevTaskID.m_bLocalID = false;
            prevTaskID.m_RefID    = SprintRefID.childID;

            HPMTaskCreateUnified ProxyTaskCreate = new HPMTaskCreateUnified();

            ProxyTaskCreate.m_Tasks                                    = new HPMTaskCreateUnifiedEntry[1];
            ProxyTaskCreate.m_Tasks[0]                                 = new HPMTaskCreateUnifiedEntry();
            ProxyTaskCreate.m_Tasks[0].m_bIsProxy                      = true;
            ProxyTaskCreate.m_Tasks[0].m_LocalID                       = 0;
            ProxyTaskCreate.m_Tasks[0].m_TaskType                      = EHPMTaskType.Planned;
            ProxyTaskCreate.m_Tasks[0].m_TaskLockedType                = EHPMTaskLockedType.BacklogItem;
            ProxyTaskCreate.m_Tasks[0].m_ParentRefIDs                  = new HPMTaskCreateUnifiedReference[1];
            ProxyTaskCreate.m_Tasks[0].m_ParentRefIDs[0]               = parent;
            ProxyTaskCreate.m_Tasks[0].m_PreviousWorkPrioRefID         = new HPMTaskCreateUnifiedReference();
            ProxyTaskCreate.m_Tasks[0].m_PreviousWorkPrioRefID.m_RefID = -2;
            ProxyTaskCreate.m_Tasks[0].m_Proxy_ReferToRefTaskID        = masterRefID;

            prevTaskID.m_bLocalID = true;
            prevTaskID.m_RefID    = 0;

            HPMChangeCallbackData_TaskCreateUnified proxyResult = SessionManager.Session.TaskCreateUnifiedBlock(ProjectID, ProxyTaskCreate);
        }
예제 #2
0
        public static Task createNewTask(Task parent, TaskCollection taskCollection)
        {
            Task newTask = null;

            foreach (Task subtask in parent.Leaves)
            {
                if (subtask.Name.Equals(taskCollection.status))
                {
                    newTask = subtask;
                }
            }
            if (newTask == null && taskCollection.taskHeaders.Count > 0)
            {
                SprintSearchCollection searchResult = findSprintTaskID(parent);
                newTask = CreateTask(parent, parent.Project.UniqueID, taskCollection.status, searchResult);
                if (newTask == null)
                {
                    return(null);
                }
            }

            if (taskCollection.taskHeaders.Count > 0)
            {
                if (!newTask.GetCustomColumnValue("Item count").Equals(taskCollection.taskHeaders.Count.ToString()))
                {
                    newTask.SetCustomColumnValue("Item count", taskCollection.taskHeaders.Count.ToString());
                }

                if (parent.Points > 0)
                {
                    parent.Points = 0;
                }
                if (newTask.Points != taskCollection.totalPoints)
                {
                    newTask.Points        = taskCollection.totalPoints;
                    newTask.WorkRemaining = taskCollection.totalPoints - taskCollection.completedPoints;
                }
                if (!newTask.Status.Text.Equals(taskCollection.status))
                {
                    newTask.Status = HansoftEnumValue.FromString(parent.ProjectID, EHPMProjectDefaultColumn.ItemStatus, taskCollection.status);
                    try
                    {
                        SessionManager.Session.TaskSetCompleted(newTask.UniqueTaskID, taskCollection.status.Equals("Completed"), true);
                    }
                    catch (Exception)
                    {
                    }
                }
            }
            else if (newTask != null)
            {
                try
                {
                    SessionManager.Session.TaskDelete(newTask.UniqueTaskID);
                }
                catch (Exception)
                {
                }
            }

            return(newTask);
        }
예제 #3
0
        //public static Task CreateTask(Task parent, HPMUniqueID ProjectID, string status, HPMUniqueID sprintID)
        public static Task CreateTask(Task parentTask, HPMUniqueID ProjectID, string newTaskName, SprintSearchCollection sprintSearchResult)
        {
            Task newTask = null;

            try
            {
                HPMUniqueID backlogProjectID = SessionManager.Session.ProjectOpenBacklogProject(ProjectID);

                HPMTaskCreateUnifiedReference parentRefId = new HPMTaskCreateUnifiedReference();
                parentRefId.m_RefID    = parentTask.UniqueID;
                parentRefId.m_bLocalID = false;

                HPMTaskCreateUnified createData = new HPMTaskCreateUnified();
                createData.m_Tasks                                    = new HPMTaskCreateUnifiedEntry[1];
                createData.m_Tasks[0]                                 = new HPMTaskCreateUnifiedEntry();
                createData.m_Tasks[0].m_bIsProxy                      = false;
                createData.m_Tasks[0].m_LocalID                       = 0;
                createData.m_Tasks[0].m_ParentRefIDs                  = new HPMTaskCreateUnifiedReference[1];
                createData.m_Tasks[0].m_ParentRefIDs[0]               = parentRefId;
                createData.m_Tasks[0].m_PreviousRefID                 = new HPMTaskCreateUnifiedReference();
                createData.m_Tasks[0].m_PreviousRefID.m_RefID         = -1;
                createData.m_Tasks[0].m_PreviousWorkPrioRefID         = new HPMTaskCreateUnifiedReference();
                createData.m_Tasks[0].m_PreviousWorkPrioRefID.m_RefID = -2;
                createData.m_Tasks[0].m_TaskLockedType                = EHPMTaskLockedType.BacklogItem;
                createData.m_Tasks[0].m_TaskType                      = EHPMTaskType.Planned;
                HPMChangeCallbackData_TaskCreateUnified result = SessionManager.Session.TaskCreateUnifiedBlock(backlogProjectID, createData);
                SessionManager.Session.TaskSetFullyCreated(SessionManager.Session.TaskRefGetTask(result.m_Tasks[0].m_TaskRefID));
                newTask = Task.GetTask(result.m_Tasks[0].m_TaskRefID);
                HPMUniqueID masterRefID = newTask.UniqueID;
                newTask.Name = newTaskName;
                if (sprintSearchResult.childID != null)
                {
                    CreateProxyItem(sprintSearchResult, ProjectID, masterRefID);
                }
            }
            catch (Exception)
            {
                if (newTask != null)
                {
                    SessionManager.Session.TaskDelete(newTask.UniqueTaskID);
                }
            }

            return(newTask);
        }
        public static void CreateProxyItem(SprintSearchCollection SprintRefID, HPMUniqueID ProjectID, HPMUniqueID masterRefID)
        {
            HPMTaskCreateUnifiedReference parent = new HPMTaskCreateUnifiedReference();
            parent.m_bLocalID = false;
            parent.m_RefID = SprintRefID.childID;

            HPMTaskCreateUnifiedReference prevTaskID = new HPMTaskCreateUnifiedReference();
            prevTaskID.m_bLocalID = false;
            prevTaskID.m_RefID = SprintRefID.childID;

            HPMTaskCreateUnified ProxyTaskCreate = new HPMTaskCreateUnified();
            ProxyTaskCreate.m_Tasks = new HPMTaskCreateUnifiedEntry[1];
            ProxyTaskCreate.m_Tasks[0] = new HPMTaskCreateUnifiedEntry();
            ProxyTaskCreate.m_Tasks[0].m_bIsProxy = true;
            ProxyTaskCreate.m_Tasks[0].m_LocalID = 0;
            ProxyTaskCreate.m_Tasks[0].m_TaskType = EHPMTaskType.Planned;
            ProxyTaskCreate.m_Tasks[0].m_TaskLockedType = EHPMTaskLockedType.BacklogItem;
            ProxyTaskCreate.m_Tasks[0].m_ParentRefIDs = new HPMTaskCreateUnifiedReference[1];
            ProxyTaskCreate.m_Tasks[0].m_ParentRefIDs[0] = parent;
            ProxyTaskCreate.m_Tasks[0].m_PreviousWorkPrioRefID = new HPMTaskCreateUnifiedReference();
            ProxyTaskCreate.m_Tasks[0].m_PreviousWorkPrioRefID.m_RefID = -2;
            ProxyTaskCreate.m_Tasks[0].m_Proxy_ReferToRefTaskID = masterRefID;

            prevTaskID.m_bLocalID = true;
            prevTaskID.m_RefID = 0;

            HPMChangeCallbackData_TaskCreateUnified proxyResult = SessionManager.Session.TaskCreateUnifiedBlock(ProjectID, ProxyTaskCreate);
        }
        //public static Task CreateTask(Task parent, HPMUniqueID ProjectID, string status, HPMUniqueID sprintID)
        public static Task CreateTask(Task parentTask, HPMUniqueID ProjectID, string newTaskName, SprintSearchCollection sprintSearchResult)
        {
            Task newTask = null;
            try
            {
                HPMUniqueID backlogProjectID = SessionManager.Session.ProjectOpenBacklogProject(ProjectID);

                HPMTaskCreateUnifiedReference parentRefId = new HPMTaskCreateUnifiedReference();
                parentRefId.m_RefID = parentTask.UniqueID;
                parentRefId.m_bLocalID = false;

                HPMTaskCreateUnified createData = new HPMTaskCreateUnified();
                createData.m_Tasks = new HPMTaskCreateUnifiedEntry[1];
                createData.m_Tasks[0] = new HPMTaskCreateUnifiedEntry();
                createData.m_Tasks[0].m_bIsProxy = false;
                createData.m_Tasks[0].m_LocalID = 0;
                createData.m_Tasks[0].m_ParentRefIDs = new HPMTaskCreateUnifiedReference[1];
                createData.m_Tasks[0].m_ParentRefIDs[0] = parentRefId;
                createData.m_Tasks[0].m_PreviousRefID = new HPMTaskCreateUnifiedReference();
                createData.m_Tasks[0].m_PreviousRefID.m_RefID = -1;
                createData.m_Tasks[0].m_PreviousWorkPrioRefID = new HPMTaskCreateUnifiedReference();
                createData.m_Tasks[0].m_PreviousWorkPrioRefID.m_RefID = -2;
                createData.m_Tasks[0].m_TaskLockedType = EHPMTaskLockedType.BacklogItem;
                createData.m_Tasks[0].m_TaskType = EHPMTaskType.Planned;
                HPMChangeCallbackData_TaskCreateUnified result = SessionManager.Session.TaskCreateUnifiedBlock(backlogProjectID, createData);
                SessionManager.Session.TaskSetFullyCreated(SessionManager.Session.TaskRefGetTask(result.m_Tasks[0].m_TaskRefID));
                newTask = Task.GetTask(result.m_Tasks[0].m_TaskRefID);
                HPMUniqueID masterRefID = newTask.UniqueID;
                newTask.Name = newTaskName;
                if (sprintSearchResult.childID != null)
                {
                    CreateProxyItem(sprintSearchResult, ProjectID, masterRefID);
                }
            }
            catch (Exception)
            {
                if (newTask != null)
                {
                    SessionManager.Session.TaskDelete(newTask.UniqueTaskID);
                }
            }

            return newTask;
        }