void fileTransferManager_FilePartDownloaded(object sender, DataContainerEventArg<FileTransferManager.FilePartData> e) { List<Tuple<FreeFile.DownloadManager.FileTransferManager.DownloadParameter, Byte[]>> data = new List<Tuple<FreeFile.DownloadManager.FileTransferManager.DownloadParameter, Byte[]>>(); data.Add(new Tuple<FreeFile.DownloadManager.FileTransferManager.DownloadParameter, Byte[]>(e.Data.DownloadParameter, e.Data.FileBytes)); if (e.Data.DownloadParameter.AllPartsCount == e.Data.DownloadParameter.Part) { saveFile(data); } }
void fileTransferManager_FilePartDownloaded(object sender, DataContainerEventArg <FileTransferManager.FilePartData> e) { List <Tuple <FreeFile.DownloadManager.FileTransferManager.DownloadParameter, Byte[]> > data = new List <Tuple <FreeFile.DownloadManager.FileTransferManager.DownloadParameter, Byte[]> >(); data.Add(new Tuple <FreeFile.DownloadManager.FileTransferManager.DownloadParameter, Byte[]>(e.Data.DownloadParameter, e.Data.FileBytes)); if (e.Data.DownloadParameter.AllPartsCount == e.Data.DownloadParameter.Part) { saveFile(data); } }
private void manager_FilePartDownloaded(object sender, DataContainerEventArg <Manager.FilePartData> e) { // find a previous list that contains downloading information of this file List <Tuple <Manager.DownloadParameter, Byte[]> > prevData = downloadingData.FirstOrDefault(d => d.First().Item1.File.FileName == e.Data.DownloadParameter.File.FileName && d.First().Item1.File.FileHash == e.Data.DownloadParameter.File.FileHash); if (prevData == null) { // if no list before create a new one prevData = new List <Tuple <Manager.DownloadParameter, Byte[]> >(); prevData.Add(new Tuple <Manager.DownloadParameter, Byte[]>(e.Data.DownloadParameter, e.Data.FileBytes)); downloadingData.Add(prevData); } else { downloadingData.FirstOrDefault(d => d.First().Item1.File.FileName == e.Data.DownloadParameter.File.FileName && d.First().Item1.File.FileHash == e.Data.DownloadParameter.File.FileHash). Add(new Tuple <Manager.DownloadParameter, Byte[]>(e.Data.DownloadParameter, e.Data.FileBytes)); } // find the number of downloaded parts by counting tuples in the list that contains downloading information of this file int numDownParts = downloadingData.FirstOrDefault(d => d.First().Item1.File.FileName == e.Data.DownloadParameter.File.FileName && d.First().Item1.File.FileHash == e.Data.DownloadParameter.File.FileHash).Count; // find the file that shows downloading information of this file DownloadFileDisplay file = downloadingFiles.FirstOrDefault(f => f.FileName == e.Data.DownloadParameter.File.FileName && f.FileHash == e.Data.DownloadParameter.File.FileHash); // increment the percently file.Perecent += (numDownParts / e.Data.DownloadParameter.AllPartsCount) * 100; if (numDownParts == e.Data.DownloadParameter.AllPartsCount) { downloadingFiles.RemoveAll(f => f.FileName == e.Data.DownloadParameter.File.FileName && f.FileHash == e.Data.DownloadParameter.File.FileHash); SaveFile(e.Data.DownloadParameter); } dataGridViewMain.DataSource = downloadingFiles; }
private void manager_FilePartDownloaded(object sender, DataContainerEventArg<Manager.FilePartData> e) { // find a previous list that contains downloading information of this file List<Tuple<Manager.DownloadParameter, Byte[]>> prevData = downloadingData.FirstOrDefault(d => d.First().Item1.File.FileName == e.Data.DownloadParameter.File.FileName && d.First().Item1.File.FileHash == e.Data.DownloadParameter.File.FileHash); if (prevData == null) { // if no list before create a new one prevData = new List<Tuple<Manager.DownloadParameter, Byte[]>>(); prevData.Add(new Tuple<Manager.DownloadParameter, Byte[]>(e.Data.DownloadParameter, e.Data.FileBytes)); downloadingData.Add(prevData); } else { downloadingData.FirstOrDefault(d => d.First().Item1.File.FileName == e.Data.DownloadParameter.File.FileName && d.First().Item1.File.FileHash == e.Data.DownloadParameter.File.FileHash). Add(new Tuple<Manager.DownloadParameter, Byte[]>(e.Data.DownloadParameter, e.Data.FileBytes)); } // find the number of downloaded parts by counting tuples in the list that contains downloading information of this file int numDownParts = downloadingData.FirstOrDefault(d => d.First().Item1.File.FileName == e.Data.DownloadParameter.File.FileName && d.First().Item1.File.FileHash == e.Data.DownloadParameter.File.FileHash).Count; // find the file that shows downloading information of this file DownloadFileDisplay file = downloadingFiles.FirstOrDefault(f => f.FileName == e.Data.DownloadParameter.File.FileName && f.FileHash == e.Data.DownloadParameter.File.FileHash); // increment the percently file.Perecent += (numDownParts / e.Data.DownloadParameter.AllPartsCount) * 100; if (numDownParts == e.Data.DownloadParameter.AllPartsCount) { downloadingFiles.RemoveAll(f => f.FileName == e.Data.DownloadParameter.File.FileName && f.FileHash == e.Data.DownloadParameter.File.FileHash); SaveFile(e.Data.DownloadParameter); } dataGridViewMain.DataSource = downloadingFiles; }