public MergeRequestViewModel(BranchViewModel branch, MergeRequest mergeRequest)
{
Branch = branch;
MergeRequest = mergeRequest;
Changes = branch.GetMergeRequestChanges(mergeRequest).Select(x => new MergeRequestFileDataViewModel(x)).ToList();
Commits = branch.GetCommits(mergeRequest)
.Select(commit => new CommitViewModel(commit, sha => branch.GetBuilds(mergeRequest, sha), x => branch.DownloadArtifacts(mergeRequest, x), x => branch.DownloadTrace(mergeRequest, x)))
.ToList();
Title = MergeRequest.Title;
SourceBranch = MergeRequest.SourceBranch;
TargetBranch = MergeRequest.TargetBranch;
Author = MergeRequest.Author.Username;
Assignee = MergeRequest.Assignee?.Username;
AssigneeId = MergeRequest?.Assignee?.Id;
}