コード例 #1
0
ファイル: Controller.cs プロジェクト: rheehot/CoreTracker
        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
                });
            }
        }
コード例 #2
0
ファイル: Controller.cs プロジェクト: rheehot/CoreTracker
        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);
        }