public ProjectDetail ConvertToProjectDetail(SearchInfo searchResult)
        {
            Checker.IsNull(searchResult, "searchResult");

            var result = new ProjectDetail
            {
                TotalIssues = searchResult.Total
            };

            foreach (var issueJira in searchResult.Issues)
            {
                var issueFields = issueJira.Fields;

                AddIssueTypeAsLabelIfNoContains(issueFields, result.Labels);
                try
                {
                    AddSprintIfNoContains(issueFields, result.Sprints);
                }
                catch (Exception ex)
                {
                    Console.WriteLine(ex.Message);
                }
                AddLabelIfNoContains(issueFields, result.Labels);

                result.IssueKeys.Add(issueJira.Key);
            }

            return result;
        }
Example #2
0
        public static ProjectDetail MergeProjects(ProjectDetail projectLeft, ProjectDetail projectRight)
        {
            var result = new ProjectDetail();

            result.Labels.AddRange(projectLeft.Labels.Union(projectRight.Labels).Distinct());
            result.IssueKeys.AddRange(projectLeft.IssueKeys.Union(projectRight.IssueKeys).Distinct());
            result.Sprints.AddRange(projectLeft.Sprints.Union(projectRight.Sprints).Distinct());
            result.TotalIssues = projectLeft.TotalIssues;

            return result;
        }