Exemple #1
0
 private void CheckForNewVersionCompleted(BatchGuyLatestVersionInfo result)
 {
     _batchGuyLatestVersionInfo = result;
     if (_batchGuyLatestVersionInfo != null && _batchGuyLatestVersionInfo.IsNewVersion)
     {
         pbNewVersion.Visible = true;
         this.ConfigurepbNewVersion();
     }
 }
Exemple #2
0
        private async Task <BatchGuyLatestVersionInfo> ContactGithubLatestReleaseApi()
        {
            BatchGuyLatestVersionInfo batchGuyLatestVersionSettings = null;
            string latestTag = string.Empty;

            try
            {
                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;
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                _loggingService.LogErrorFormat(ex, MethodBase.GetCurrentMethod().Name);
            }
            return(batchGuyLatestVersionSettings);
        }