Ejemplo n.º 1
0
        public static void StartDownload(string url, string path, string packagename = "")
        {
            ChocolateyDownloader downloader = new ChocolateyDownloader {
                PackageName = Utils.FirstCharToUpper(packagename)
            };

            if (DownloadProgressBar == null)
            {
                DownloadProgressBar = new ProgressBar(1, "Downloading", DefaultStyle);
            }
            else
            {
                DownloadProgressBar.UpdateMaxTicks(DownloadProgressBar.MaxTicks + 1);
            }

            #region Events
            downloader.WebHandler.DownloadProgressChanged += delegate(object b, DownloadProgressChangedEventArgs e)
            {
                downloader.ProgressBar.CurrentTick = (int)e.BytesReceived;
            };

            downloader.WebHandler.DownloadFileCompleted += delegate
            {
                downloader.ProgressBar.Dispose();
                DownloadProgressBar.Tick();
                NLogger.Info($"Sucessfully downloaded {downloader.PackageName}");
            };
            #endregion

            downloader.ProgressBar = DownloadProgressBar.Spawn(Utils.GetDownloadSize(url), Utils.FirstCharToUpper(packagename), DefaultStyle);
            downloader.WebHandler.DownloadFileAsync(new Uri(url), path);
        }