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;
 }
Esempio n. 2
0
        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();
 }