public void StopDownload() { _downloadItem?.StopDownload(); _downloadItem = null; Downloading = false; DownloadProgress = 0; }
private void DownloadItemOnDownloadItemDownloadCompleted(object sender, DownloadCompletedEventArgs args) { DownloadPending = false; Downloading = false; CheckForTrack(); if (args.Error != null) { DownloadState = DownloadState.Error; } else if (!args.Cancelled) { Item.DownloadDate = DateTime.Now; RaisePropertyChanged(nameof(DownloadDate)); } var managerItem = (DownloadManagerItem)sender; managerItem.DownloadItemDownloadProgressChanged -= DownloadItemOnDownloadItemDownloadProgressChanged; managerItem.DownloadItemDownloadCompleted -= DownloadItemOnDownloadItemDownloadCompleted; managerItem.DownloadItemDownloadStarted -= DownloadItemOnDownloadItemDownloadStarted; managerItem.Dispose(); _downloadItem = null; _workspaceViewModel.HandlerOnDownloadItemDownloadCompleted(sender, args); }
private void DownloadItemOnDownloadItemDownloadCompleted(object sender, DownloadCompletedEventArgs args) { DownloadPending = false; Downloading = false; CheckForTrack(); if (args.Error != null) { DownloadState = DownloadState.Error; } var managerItem = (DownloadManagerItem)sender; managerItem.DownloadItemDownloadProgressChanged -= DownloadItemOnDownloadItemDownloadProgressChanged; managerItem.DownloadItemDownloadCompleted -= DownloadItemOnDownloadItemDownloadCompleted; managerItem.DownloadItemDownloadStarted -= DownloadItemOnDownloadItemDownloadStarted; managerItem.Dispose(); _downloadItem = null; _workspaceViewModel.HandlerOnDownloadItemDownloadCompleted(sender, args); }
internal DownloadManagerItem DownloadSong(bool overwrite = true) { Downloading = true; DownloadProgress = 1; DownloadPending = true; if (DownloadState == DownloadState.NeedsConvertion) { _downloadItem = new ConvertionItem(Item, _uncovertedPath, GetFilePath()); } else { _downloadItem = new DownloadItem(Item, GetFilePath(), _workspaceViewModel.Workspace.Settings.DownloadFormat, overwrite); } _downloadItem.DownloadItemDownloadProgressChanged += DownloadItemOnDownloadItemDownloadProgressChanged; _downloadItem.DownloadItemDownloadCompleted += DownloadItemOnDownloadItemDownloadCompleted; _downloadItem.DownloadItemDownloadStarted += DownloadItemOnDownloadItemDownloadStarted; _downloadItem.DownloadItemConvertionStarted += DownloadItemOnDownloadItemConvertionStarted; DownloadState = DownloadState.Queued; return(_downloadItem); }