public async Task<GitHubRelease> LatestRelease() { GitHubRelease release = new GitHubRelease(); string releasesPath = @"repos/dropbox/DropboxBusinessAdminTool/releases"; RestRequest request = new RestRequest(releasesPath, Method.GET); IRestResponse response = await _client.ExecuteTaskAsync(request); if (response.StatusCode == HttpStatusCode.OK) { dynamic jsonData = JsonConvert.DeserializeObject<dynamic>(response.Content); release.version = new Version(jsonData[0]["tag_name"].ToString()); release.name = jsonData[0]["name"]; release.description = jsonData[0]["body"]; release.releaseUri = new Uri(jsonData[0]["html_url"].ToString()); release.releaseDate = Convert.ToDateTime(jsonData[0]["published_at"].ToString()); // Look for a zip attachment that contains just the pre-built exe. foreach (var asset in jsonData[0]["assets"]) { if (asset["content_type"] == "application/x-zip-compressed") { release.downloadUri = asset["browser_download_url"]; } } } else { release.version = new Version(0, 0, 0, 0); } return release; }
public async Task <GitHubRelease> LatestRelease() { GitHubRelease release = new GitHubRelease(); string releasesPath = @"repos/dropbox/DropboxBusinessAdminTool/releases"; RestRequest request = new RestRequest(releasesPath, Method.GET); IRestResponse response = await _client.ExecuteTaskAsync(request); if (response.StatusCode == HttpStatusCode.OK) { dynamic jsonData = JsonConvert.DeserializeObject <dynamic>(response.Content); release.version = new Version(jsonData[0]["tag_name"].ToString()); release.name = jsonData[0]["name"]; release.description = jsonData[0]["body"]; release.releaseUri = new Uri(jsonData[0]["html_url"].ToString()); release.releaseDate = Convert.ToDateTime(jsonData[0]["published_at"].ToString()); // Look for a zip attachment that contains just the pre-built exe. foreach (var asset in jsonData[0]["assets"]) { if (asset["content_type"] == "application/x-zip-compressed") { release.downloadUri = asset["browser_download_url"]; } } } else { release.version = new Version(0, 0, 0, 0); } return(release); }
public VersionWindow(GitHubRelease release) { _release = release; InitializeComponent(); versionAlertText.Text = String.Format(@"Version {0} of the Admin Toolkit is now available!", _release.version.ToString()); versionDetails.Text = String.Format(@"Release Notes:{0}{1}", Environment.NewLine, _release.description); if (_release.downloadUri != null) { downloadButton.Text = @"Download Release"; } else { downloadButton.Text = @"View Details"; } downloadButton.Focus(); }