Esempio n. 1
0
        private static async Task <GithubRelease> GetNewestReleaseInfo()
        {
            GithubRelease release = null;

            await Task.Run(() =>
            {
                try
                {
                    HttpClient client = new HttpClient();
                    client.DefaultRequestHeaders.Add("User-Agent", "GPDWin2XTUManager");
                    client.DefaultRequestHeaders
                    .Accept
                    .Add(new MediaTypeWithQualityHeaderValue("application/json"));
                    Task <HttpResponseMessage> response = client.GetAsync(RELEASE_URL);

                    release = JsonConvert.DeserializeObject <GithubRelease>(response.Result.Content.ReadAsStringAsync()
                                                                            .Result);
                }
                catch (Exception e)
                {
                    // Update check failed
                    Console.WriteLine("Update check failed: " + e.Message);
                }
            }).ConfigureAwait(false);

            return(release);
        }
Esempio n. 2
0
        public static async Task <GithubRelease> CheckForUpdates()
        {
            _thisVersion = Shared.VERSION;

            GithubRelease newestRelease = await GetNewestReleaseInfo().ConfigureAwait(true);

            if (newestRelease != null)
            {
                var githubNewestVersion = Convert.ToDecimal(newestRelease.tag_name, CultureInfo.InvariantCulture);

                //System.Windows.Forms.MessageBox.Show(newestRelease.tag_name + " " + githubNewestVersion + " " + _thisVersion);

                if (githubNewestVersion > _thisVersion)
                {
                    // New version available
                    return(newestRelease);
                }

                // Application is up to date
            }
            else
            {
                // Download error, ignore
            }

            return(null);
        }