Example #1
0
 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);
     }
 }
Example #2
0
        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);
            }
        }
Example #3
0
        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;
        }
Example #4
0
        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;
        }