private async Task ContactGithubLatestReleaseApi()
        {
            string latestTag = string.Empty;
            using (HttpClient client = new HttpClient())
            {
                client.DefaultRequestHeaders.Clear();
                client.DefaultRequestHeaders.Add("User-Agent","BatchGuy");
                client.DefaultRequestHeaders.Accept.Clear();
                client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
                HttpResponseMessage response = await client.GetAsync("https://api.github.com/repos/yaboy58/batchguy/releases/latest");
                if (response.IsSuccessStatusCode)
                {
                    var json = await response.Content.ReadAsStringAsync();
                    JObject token = JObject.Parse(json);
                    var tagName = token.SelectToken("tag_name");
                    var htmlUrl = token.SelectToken("html_url");
                    var name = token.SelectToken("name");

                    _batchGuyLatestVersionSettings = new BatchGuyLatestVersionInfo() { LatestGithubUrl = htmlUrl == null ? string.Empty : htmlUrl.ToString(),
                     TagName = tagName == null ? string.Empty : tagName.ToString(), Name = name == null ? string.Empty : name.ToString()};

                    if (tagName != null && string.IsNullOrEmpty(tagName.ToString()) == false)
                    {
                        if (tagName.ToString() != _currentTagName)
                            _batchGuyLatestVersionSettings.IsNewVersion = true;
                        else
                            _batchGuyLatestVersionSettings.IsNewVersion = false;
                    }
                    else
                        _batchGuyLatestVersionSettings.IsNewVersion = false;
                }
            }
        }
예제 #2
0
 private void bgwCheckForNewVersion_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
 {
     _batchGuyLatestVersionInfo = e.Result as BatchGuyLatestVersionInfo;
     if (_batchGuyLatestVersionInfo != null && _batchGuyLatestVersionInfo.IsNewVersion)
     {
         pbNewVersion.Visible = true;
         this.ConfigurepbNewVersion();
     }
 }
 public BatchGuyNotificationService(string currentTagName)
 {
     _currentTagName = currentTagName;
     _batchGuyLatestVersionSettings = null;
 }