Beispiel #1
0
        private static void OnDownloadProgressChange(object sender, DownloadProgressChangeEventArgs e)
        {
            if ((DateTime.Now - _lastUpdateProgress).TotalSeconds < 2)
            {
                _lastUpdateProgress = DateTime.Now;
                return;
            }
            MediaFileDownload downloader = sender as MediaFileDownload;

            DownFactory.UpdateFileLenRecord(downloader.Tag as string, downloader.FileLength);
            foreach (DownInfo info in MyDownloading)
            {
                if (downloader.Tag as string == info.VID)
                {
                    info.ProgressText    = String.Format("正在下载:{0}M/{1}M", ((double)e.Progress / (double)(1024 * 1024)).ToString("f2"), ((double)e.TotalBytes / (double)(1024 * 1024)).ToString("f2"));
                    info.ProgressNumeric = (double)e.Progress / (double)e.TotalBytes * 100;
                    break;
                }
            }
            foreach (DBMyDownloadInfo downInfo in DownFactory.GetAllRecords())
            {
                if (downInfo.VID == downloader.Tag as string)
                {
                    if ((DateTime.Now.Second - _lastWriteDB.Second) >= _minDBOperationInterval)
                    {
                        DownFactory.UpdateRecord(downloader.Tag as string, -1, e.Progress);
                        _lastWriteDB = DateTime.Now;
                    }
                    break;
                }
            }
        }
Beispiel #2
0
        private static void OnDownloadProgressChange(object sender, DownloadProgressChangeEventArgs e)
        {
            if ((DateTime.Now - _lastUpdateProgress).TotalSeconds < 2)
            {
                _lastUpdateProgress = DateTime.Now;
                return;
            }
            MediaFileDownload downloader = sender as MediaFileDownload;
            DownFactory.UpdateFileLenRecord(downloader.Tag as string, downloader.FileLength);
            foreach (DownInfo info in MyDownloading)
            {
                if (downloader.Tag as string == info.VID)
                {
                    info.ProgressText = String.Format("正在下载:{0}M/{1}M", ((double)e.Progress / (double)(1024 * 1024)).ToString("f2"), ((double)e.TotalBytes / (double)(1024 * 1024)).ToString("f2"));
                    info.ProgressNumeric = (double)e.Progress / (double)e.TotalBytes * 100;
                    break;
                }
            }
            foreach (DBMyDownloadInfo downInfo in DownFactory.GetAllRecords())
            {
                if (downInfo.VID == downloader.Tag as string)
                {
                    if ((DateTime.Now.Second - _lastWriteDB.Second) >= _minDBOperationInterval)
                    {   
                        DownFactory.UpdateRecord(downloader.Tag as string, -1, e.Progress);
                        _lastWriteDB = DateTime.Now;
                    }
                    break;
                }
            }


        }