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