private void ReportProgress(object sender, ProgressDataModel e)
 {
     progressReportBar.Value = e.PercentageCompleted;
     PrintWebSiteInfo(e.WebsitesDownloaded, txtBlockAsync);
     if (progressReportBar.Value == 100)
     {
         progressReportBar.Visibility = Visibility.Hidden;
     }
 }
Example #2
0
        public async static Task <List <WebSiteDataModel> > RunDownloadSiteAsync(IProgress <ProgressDataModel> progress, CancellationToken cancellationToken)
        {
            var list = GetPrepData();
            List <WebSiteDataModel> results = new List <WebSiteDataModel>();
            ProgressDataModel       report  = new ProgressDataModel();

            foreach (string site in list)
            {
                var siteInfo = await DownloadAsync(site);

                results.Add(siteInfo);
                cancellationToken.ThrowIfCancellationRequested();
                report.WebsitesDownloaded  = results;
                report.PercentageCompleted = (results.Count * 100) / list.Count;
                progress.Report(report);
            }
            return(results);
        }