private void DownloadFile(FileSharingDetailsTO fileSharingDetails) { Task.Factory.StartNew(() => { Downloading downloading = new Downloading(fileSharingDetails); downloading.DownloadFinishedEvent += DownloadFinished; downloading.DownloadStartedEvent += DownloadStarted; downloading.StartDownloadingFile(); }); }
internal static List <FileSharingDetailsTO> GetSharingFilesTOClassifiedByName(List <File> files) { List <FileSharingDetailsTO> fileSharingDetailsTOs = new List <FileSharingDetailsTO>(); foreach (File file in files) { FileSharingDetailsTO fileSharingDetailsTO = new FileSharingDetailsTO(); fileSharingDetailsTO.FileName = file.FileName; fileSharingDetailsTO.Size = file.Size; fileSharingDetailsTO.Peers = GetAllFileSharingPeers(files, file.FileName); fileSharingDetailsTOs.Add(fileSharingDetailsTO); } return(fileSharingDetailsTOs); }
public static FileSharingDetailsTO GetFileToDownloadByName(string fileName) { //Get the requested file FileRequestTO fileRequestTO = new FileRequestTO(); fileRequestTO.FileName = fileName; fileRequestTO.Username = clientDetails.Username; fileRequestTO.Password = clientDetails.Password; string jsonFileRequest = JsonConvert.SerializeObject(fileRequestTO); //Downloading only one file - Get the firs one FileSharingDetailsTO requestedFile = JsonConvert.DeserializeObject <List <FileSharingDetailsTO> >(proxy.FileRequest(jsonFileRequest))[0]; return(requestedFile); }
private void FileSearchResultsListView_MouseDoubleClick(object sender, MouseButtonEventArgs e) { if (MessageBox.Show(Consts.DOWNLOAD_CONFIRMATION_DIALOG_MESSAGE, "Download Confirmation", MessageBoxButton.YesNo, MessageBoxImage.Question) == MessageBoxResult.Yes) { FileView selectedFile = (FileView)FileSearchResultsListView.SelectedItem; //Create FileDownlaodView to show in downloadings listView FileDownloadView fileDownloadView = new FileDownloadView(); fileDownloadView.FileName = selectedFile.FileName; fileDownloadView.Size = selectedFile.Size; fileDownloadView.Peers = selectedFile.Peers; fileDownloadView.Kbps = 0; fileDownloadView.Time = TimeSpan.MinValue; fileDownloadView.Status = ""; if (!ClientUtils.downloadingDictionary.ContainsKey(fileDownloadView.FileName)) { ClientUtils.downloadingDictionary.Add(fileDownloadView.FileName, fileDownloadView); } downloadingFiles.Add(fileDownloadView); DownloadsFilesListView.Items.Refresh(); FileSharingDetailsTO fileSharingDetails = ClientUtils.GetFileToDownloadByName(selectedFile.FileName); DownloadFile(fileSharingDetails); } }
public Downloading(FileSharingDetailsTO fileSharingDetails) { currentlyDownloadingFile = fileSharingDetails; }