//============================================== // 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); } }