public async Task <updateFormat> CompareVersion(string v) { github_result rs = await CheckVersion(); if (rs.is_error) { return(new updateFormat { msg = "version check failed, try later or check internet status", is_error = true }); } string recentVersion = rs.tag_name.Replace("v", string.Empty); string appVersion = v.Replace("v", string.Empty); if (checkVersion(appVersion, recentVersion)) { return(new updateFormat { target = rs.target, msg = "Can you update the latest release version?" }); } else { return(new updateFormat { msg = "Recently version", latest = true }); } }
public static async Task <github_result> CheckVersion() { github_result github_result = new github_result(); try { using (HttpClient client = new HttpClient()) { client.DefaultRequestHeaders.Add("User-Agent", "request"); var response = await client.GetAsync(new Uri("https://api.github.com/repos/Fhwang0926/CoreTracker/releases/latest")).ConfigureAwait(false); if (response != null) { dynamic jsonString = await response.Content.ReadAsStringAsync().ConfigureAwait(false); github github = JsonConvert.DeserializeObject <github>(jsonString); // update result info github_result.body = github.body; github_result.tag_name = github.tag_name; if (github.assets.Length == 0) { github_result.is_error = true; } github_result.target = github.assets.FirstOrDefault().browser_download_url; } else { github_result.is_error = true; } } } catch (Exception) { github_result.is_error = true; } return(github_result); }