/// <summary> /// Raises the <see cref="DownloadComplete"/> event. /// </summary> /// <remarks> /// A completed download does not mean the entire file has been downloaded; the download /// may have been interrupted. /// </remarks> /// <param name="e">A <see cref="CompletedDownloadEventArgs"/> describing the event arguments.</param> protected virtual void OnDownloadComplete(CompletedDownloadEventArgs e) { DownloadComplete(this, e); }
/// <summary> /// Handles the <see cref="FileDownloader.DownloadComplete"/> event of the file downloader. /// </summary> /// <remarks> /// This stops the updating of the progress properties. /// </remarks> /// <param name="sender">The object that raised the event.</param> /// <param name="e">A <see cref="CompletedDownloadEventArgs"/> describing the event arguments.</param> private void Downloader_DownloadComplete(object sender, CompletedDownloadEventArgs e) { m_tmrUpdater.Stop(); if (m_areWaitForDownload != null) m_areWaitForDownload.Set(); if (Status == TaskStatus.Paused) OnTaskEnded(String.Format("Paused: {0}", ((FileDownloader)sender).URL), ((FileDownloader)sender).TempFiles); else if (!e.GotEntireFile) { if (Status == TaskStatus.Cancelling) { m_fdrDownloader.Cleanup(); Status = TaskStatus.Cancelled; } else Status = TaskStatus.Incomplete; ErrorCode = ((FileDownloader)sender).ErrorCode; ErrorInfo = ((FileDownloader)sender).ErrorInfo; if (ErrorCode == "666") OnTaskEnded(String.Format("{1}: {0} , ", ((FileDownloader)sender).URL, ErrorInfo), ((FileDownloader)sender).URL); else OnTaskEnded(String.Format("Error: {0} , unable to finish the download.", ((FileDownloader)sender).URL), ((FileDownloader)sender).URL); } else { Status = TaskStatus.Complete; OnTaskEnded(new DownloadedFileInfo(((FileDownloader)sender).URL, e.SavedFileName)); } }
/// <summary> /// Handles the <see cref="FileDownloader.DownloadComplete"/> event of the file downloader. /// </summary> /// <remarks> /// This stops the updating of the progress properties. /// </remarks> /// <param name="sender">The object that raised the event.</param> /// <param name="e">A <see cref="CompletedDownloadEventArgs"/> describing the event arguments.</param> private void Downloader_DownloadComplete(object sender, CompletedDownloadEventArgs e) { FileDownloader fdrDownloader = ((FileDownloader)sender); if (!e.GotEntireFile) { fdrDownloader.Cleanup(); m_dicSaveDownloadPaths[fdrDownloader] = null; } else m_dicSaveDownloadPaths[fdrDownloader] = e.SavedFileName; if (m_dicWaitForDownloads.ContainsKey(fdrDownloader)) m_dicWaitForDownloads[fdrDownloader].Set(); }