void HandlePullRequest(PullRequest pr) { if (Usernames.Length > 0 && !Usernames.Contains(pr.User.Login)) { return; } if (pr.State == ItemState.Open) { if (PullRequests.ContainsKey(pr)) { return; } PullRequests.Add(pr, new OpenUrlAction { Url = pr.HtmlUrl.OriginalString, ShortDescription = $"Review {pr.Title}", Tooltip = $"Review pull request in {Repository.Owner}/{Repository.Name}, created by {pr.User.Login}" }); } else { if (!PullRequests.Remove(pr)) { return; } } Actions = PullRequests.Values.ToArray(); }
private DatabasePullRequest FindOrCreatePullRequestState(int number) { DatabasePullRequest pr; if (!PullRequests.ContainsKey(number)) { pr = new DatabasePullRequest(); pr.Number = number; PullRequests[number] = pr; } return(PullRequests[number]); }