Пример #1
0
        //==============================================
        // Functionality
        //==============================================
        #region Functionality
        private async void StartCheck()
        {
            ToggleMainButton(false);
            try {
                string uri = _githubHelper.GetLatestReleaseApiUri();

                _log.Info("Retrieving latest version tag...");
                using (HttpResponseMessage response = await _httpClient.GetAsync(uri)) {
                    response.EnsureSuccessStatusCode();

                    string json = await response.Content.ReadAsStringAsync();

                    dynamic payload       = SimpleJson.DeserializeObject(json);
                    string  latestVersion = payload["tag_name"];
                    LatestVersion = latestVersion;

                    _log.Info("Latest version tag '{0}' retrieved.", latestVersion);
                    if (string.Compare(CurrentVersion, latestVersion, true) != 0)
                    {
                        SetCurrentStage(OperationStage.Update);
                        CurrentVersionTextBox.Background = new SolidColorBrush(OutdatedVersionColor);
                    }
                    else
                    {
                        _log.Info("Congratulations, you are on the latest version.");
                        SetCurrentStage(OperationStage.Done);
                        CurrentVersionTextBox.Background = new SolidColorBrush(UpdatedVersionColor);
                    }
                }
            }
            catch (Exception e) {
                _log.Error("Failed to retrieve latest version: " + e.Message);

                SetCurrentStage(OperationStage.Check);
            }
        }