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; }
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; }