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