예제 #1
0
        private async Task UpdateIssue(Issue issue)
        {
            var localIssue = InternalItems.FirstOrDefault(x => x.Url == issue.Url);

            if (localIssue == null)
            {
                return;
            }

            var index = InternalItems.IndexOf(localIssue);

            if (index < 0)
            {
                return;
            }

            var matches = System.Text.RegularExpressions.Regex.Matches(issue.Url.AbsolutePath, "/repos/([^/]+)/([^/]+)/.+");

            if (matches.Count != 1 || matches[0].Groups.Count != 3)
            {
                return;
            }

            InternalItems[index] = await _sessionService.GitHubClient.Issue.Get(matches[0].Groups[1].Value, matches[0].Groups[2].Value, issue.Number);

            InternalItems.Reset();
        }