Ejemplo n.º 1
0
        internal List <Task> Find(string findString, EHPMReportViewType viewType)
        {
            List <Task>        found       = new List <Task>();
            HPMFindContext     findContext = new HPMFindContext();
            HPMFindContextData data        = SessionManager.Session.UtilPrepareFindContext(findString, UniqueID, viewType, findContext);
            HPMTaskEnum        items       = SessionManager.Session.TaskFind(data, EHPMTaskFindFlag.None);

            foreach (HPMUniqueID taskID in items.m_Tasks)
            {
                found.Add(Task.GetTask(taskID, viewType));
            }
            return(found);
        }
Ejemplo n.º 2
0
        public static SprintSearchCollection findSprintTaskID(Task parentTask)
        {
            HPMFindContext FindContext = new HPMFindContext();

            HPMFindContextData FindContextData = SessionManager.Session.UtilPrepareFindContext("Itemname: \"Program - PI\" AND ! Itemname: \":\"", parentTask.Project.UniqueID, EHPMReportViewType.AgileMainProject, FindContext);
            HPMTaskEnum        SprintIDEnum    = SessionManager.Session.TaskFind(FindContextData, EHPMTaskFindFlag.None);

            foreach (HPMUniqueID searchID in SprintIDEnum.m_Tasks)
            {
                HPMUniqueID SprintRefID = SessionManager.Session.TaskGetMainReference(searchID);
                Task        sprint      = Task.GetTask(SprintRefID);
                foreach (Task child in sprint.DeepChildren)
                {
                    if (child.UniqueTaskID == parentTask.UniqueTaskID)
                    {
                        return(new SprintSearchCollection(child.UniqueID, SprintRefID));
                    }
                }
            }

            return(new SprintSearchCollection(null, null));
        }
Ejemplo n.º 3
0
        static void DoExport()
        {
            HPMUniqueID projId = HPMUtilities.FindProject(projectName);
            if (viewType == EHPMReportViewType.AgileBacklog)
                projId = SessionManager.Instance.Session.ProjectUtilGetBacklog(projId);
            else if (viewType == EHPMReportViewType.AllBugsInProject)
                projId = SessionManager.Instance.Session.ProjectUtilGetQA(projId);
            if (projId != null)
            {
                HPMString findString;
                if (searchSpec == SearchSpec.Report)
                {
                    HPMUniqueID reportUserId = HPMUtilities.FindUser(reportUserName);
                    if (reportUserId == null)
                        throw new ArgumentException("Could not find the user " + reportUserName);
                    HPMReport report = HPMUtilities.FindReport(projId, reportUserId, reportName);
                    if (report == null)
                        throw new ArgumentException("Could not find the report " + reportName + " for user " + reportUserName + " in project " + projectName);
                    findString = SessionManager.Instance.Session.UtilConvertReportToFindString(report, projId, viewType);
                }
                else
                {
                    findString = findQuery.Replace('\'', '"');
                }
                HPMFindContext findContext = new HPMFindContext();
                HPMFindContextData data = SessionManager.Instance.Session.UtilPrepareFindContext(findString, projId, viewType, findContext);
                HPMTaskEnum items = SessionManager.Instance.Session.TaskFind(data, EHPMTaskFindFlag.None);
                ExcelWriter excelWriter = new ExcelWriter();
                if (items.m_Tasks.Length > 0)
                {
                           EHPMProjectGetDefaultActivatedNonHidableColumnsFlag flag;
                    if (viewType == EHPMReportViewType.ScheduleMainProject)
                        flag = EHPMProjectGetDefaultActivatedNonHidableColumnsFlag.ScheduledMode;
                    else if (viewType == EHPMReportViewType.AgileMainProject)
                        flag = EHPMProjectGetDefaultActivatedNonHidableColumnsFlag.AgileMode;
                    else
                        flag = EHPMProjectGetDefaultActivatedNonHidableColumnsFlag.None;

                    EHPMProjectDefaultColumn[] nonHidableColumns = SessionManager.Instance.Session.ProjectGetDefaultActivatedNonHidableColumns(projId, flag).m_Columns;
                    if (viewType == EHPMReportViewType.ScheduleMainProject || viewType == EHPMReportViewType.AgileMainProject || viewType == EHPMReportViewType.AgileBacklog)
                    {
                        Array.Resize(ref nonHidableColumns, nonHidableColumns.Length + 1);
                        nonHidableColumns[nonHidableColumns.Length - 1] = EHPMProjectDefaultColumn.ItemStatus;
                    }
                    EHPMProjectDefaultColumn[] activeBuiltinColumns = SessionManager.Instance.Session.ProjectGetDefaultActivatedColumns(projId).m_Columns;
                    HPMProjectCustomColumnsColumn[] activeCustomColumns = SessionManager.Instance.Session.ProjectCustomColumnsGet(projId).m_ShowingColumns;

                    ExcelWriter.Row row = excelWriter.AddRow();

                    foreach (EHPMProjectDefaultColumn builtinCol in nonHidableColumns)
                        row.AddCell(HPMUtilities.GetColumnName(builtinCol));
                    foreach (EHPMProjectDefaultColumn builtinCol in activeBuiltinColumns)
                        row.AddCell(HPMUtilities.GetColumnName(builtinCol));
                    foreach (HPMProjectCustomColumnsColumn customColumn in activeCustomColumns)
                        row.AddCell(HPMUtilities.GetColumnName(projId, customColumn));

                    HPMColumnTextOptions options = new HPMColumnTextOptions();
                    options.m_bForDisplay = true;
                    foreach (HPMUniqueID item in items.m_Tasks)
                    {
                        string description = SessionManager.Instance.Session.TaskGetDescription(item);
                        HPMUniqueID itemRef;
                        if (viewType == EHPMReportViewType.ScheduleMainProject || viewType == EHPMReportViewType.AgileMainProject)
                        {
                            itemRef = SessionManager.Instance.Session.TaskGetProxy(item);
                            if (!itemRef.IsValid())
                                itemRef = SessionManager.Instance.Session.TaskGetMainReference(item);
                        }
                        else
                        {
                            itemRef = SessionManager.Instance.Session.TaskGetMainReference(item);
                        }

                        row = excelWriter.AddRow();
                        foreach (EHPMProjectDefaultColumn builtinCol in nonHidableColumns)
                        {
                            HPMColumn column = new HPMColumn();
                            column.m_ColumnType = EHPMColumnType.DefaultColumn;
                            column.m_ColumnID = (uint)builtinCol;
                            row.AddCell(SessionManager.Instance.Session.TaskRefGetColumnText(itemRef, column, options));
                        }
                        foreach (EHPMProjectDefaultColumn builtinCol in activeBuiltinColumns)
                        {
                            HPMColumn column = new HPMColumn();
                            column.m_ColumnType = EHPMColumnType.DefaultColumn;
                            column.m_ColumnID = (uint)builtinCol;
                            row.AddCell(SessionManager.Instance.Session.TaskRefGetColumnText(itemRef, column, options));
                        }
                        foreach (HPMProjectCustomColumnsColumn customColumn in activeCustomColumns)
                        {
                            string displayString;
                            string dbValue = SessionManager.Instance.Session.TaskGetCustomColumnData(item, SessionManager.Instance.Session.UtilGetColumnHash(customColumn));
                            if (customColumn.m_Type == EHPMProjectCustomColumnsColumnType.DateTime || customColumn.m_Type == EHPMProjectCustomColumnsColumnType.DateTimeWithTime)
                            {
                                ulong ticksSince1970 = SessionManager.Instance.Session.UtilDecodeCustomColumnDateTimeValue(dbValue)*10;
                                DateTime dateTime = new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc).AddTicks((long)ticksSince1970);
                                if (customColumn.m_Type == EHPMProjectCustomColumnsColumnType.DateTime)
                                    displayString = dateTime.ToShortDateString();
                                else
                                    displayString = dateTime.ToString();
                            }
                            else if (customColumn.m_Type == EHPMProjectCustomColumnsColumnType.Resources)
                            {
                                displayString ="";
                                HPMResourceDefinitionList resourceList = SessionManager.Instance.Session.UtilDecodeCustomColumnResourcesValue(dbValue);
                                for (int i = 0; i < resourceList.m_Resources.Length; i += 1)
                                {
                                    HPMResourceDefinition resourceDefinition = resourceList.m_Resources[i];
                                    switch (resourceDefinition.m_GroupingType)
                                    {
                                        case EHPMResourceGroupingType.AllProjectMembers:
                                            displayString += "All Project Members";
                                            break;
                                        case EHPMResourceGroupingType.Resource:
                                            displayString += HPMUtilities.GetUserName(resourceDefinition.m_ID);
                                            break;
                                        case EHPMResourceGroupingType.ResourceGroup:
                                            displayString += HPMUtilities.GetGroupName(resourceDefinition.m_ID);
                                            break;
                                    }
                                    if (i < resourceList.m_Resources.Length - 1)
                                        displayString += ", ";
                                }
                            }
                            else if (customColumn.m_Type == EHPMProjectCustomColumnsColumnType.DropList)
                            {
                                displayString = HPMUtilities.DecodeDroplistValue(dbValue, customColumn.m_DropListItems);
                            }
                            else if (customColumn.m_Type == EHPMProjectCustomColumnsColumnType.MultiSelectionDropList)
                            {
                                displayString = "";
                                string[] dbValues = dbValue.Split(new char[] { ';' });
                                for (int i = 0; i < dbValues.Length; i += 1)
                                {
                                    displayString += HPMUtilities.DecodeDroplistValue(dbValues[i], customColumn.m_DropListItems);
                                    if (i < dbValues.Length - 1)
                                        displayString += ", ";
                                }
                            }
                            else
                                displayString = dbValue;

                            row.AddCell(displayString);
                        }
                    }
                }
                excelWriter.SaveAsOfficeOpenXml(outputFileName);
            }
            else
                throw new ArgumentException("Could not find the project " + projectName);
        }
Ejemplo n.º 4
0
 internal List<Task> Find(string findString, EHPMReportViewType viewType)
 {
     List<Task> found = new List<Task>();
     HPMFindContext findContext = new HPMFindContext();
     HPMFindContextData data = SessionManager.Session.UtilPrepareFindContext(findString, UniqueID, viewType, findContext);
     HPMTaskEnum items = SessionManager.Session.TaskFind(data, EHPMTaskFindFlag.None);
     foreach (HPMUniqueID taskID in items.m_Tasks)
         found.Add(Task.GetTask(taskID, viewType));
     return found;
 }
 protected void SetFindContext(HPMFindContext context, string projectid)
 {
     Session["FindContext" + projectid] = context;
 }
        /// <summary>
        /// Builds a new find context by combining text search field and report from report drop list
        /// </summary>
        private void UpdateFindContext(HPMUniqueID projectID, string project, string userAndReport, string search)
        {
            if ((userAndReport == "0$$0") || (userAndReport == "0"))
            {
                if (search.Length > 0)
                {
                    HPMFindContext fc = new HPMFindContext();
                    m_FindContexts[project] = m_VirtSession.UtilPrepareFindContext("Text(" + search + ")", projectID, EHPMReportViewType.AllBugsInProject, fc);
                }
            }
            else
            {
                string[] splitted = userAndReport.Split(new string[] { "$$" }, StringSplitOptions.None);

                HPMUniqueID reportuserid = new HPMUniqueID(Convert.ToInt32(splitted[0]));
                HPMUniqueID reportid = new HPMUniqueID(Convert.ToInt32(splitted[1]));

                HPMReport report = m_VirtSession.ProjectGetReport(projectID, reportuserid, reportid);


                HPMString FindString = m_VirtSession.UtilConvertReportToFindString(report, projectID, EHPMReportViewType.AllBugsInProject);
                if (search.Length > 0)
                    FindString = "Text(" + search + ") AND " + FindString;
                HPMFindContext fc = new HPMFindContext();
                m_FindContexts[project] = m_VirtSession.UtilPrepareFindContext(FindString, projectID, EHPMReportViewType.AllBugsInProject, fc);
            }
        }
        public static SprintSearchCollection findSprintTaskID(Task parentTask)
        {
            HPMFindContext FindContext = new HPMFindContext();

            HPMFindContextData FindContextData = SessionManager.Session.UtilPrepareFindContext("Itemname: \"Program - PI\" AND ! Itemname: \":\"", parentTask.Project.UniqueID, EHPMReportViewType.AgileMainProject, FindContext);
            HPMTaskEnum SprintIDEnum = SessionManager.Session.TaskFind(FindContextData, EHPMTaskFindFlag.None);

            foreach (HPMUniqueID searchID in SprintIDEnum.m_Tasks)
            {
                HPMUniqueID SprintRefID = SessionManager.Session.TaskGetMainReference(searchID);
                Task sprint = Task.GetTask(SprintRefID);
                foreach (Task child in sprint.DeepChildren)
                {
                    if (child.UniqueTaskID == parentTask.UniqueTaskID)
                    {
                        return new SprintSearchCollection(child.UniqueID, SprintRefID);
                    }
                }
            }

            return new SprintSearchCollection(null, null);
        }