public async Task <IList <Torrent> > Get() { var torrents = await _torrentData.Get(); foreach (var torrent in torrents) { foreach (var download in torrent.Downloads) { if (TorrentRunner.ActiveDownloadClients.TryGetValue(download.DownloadId, out var downloadClient)) { download.Speed = downloadClient.Speed; download.BytesTotal = downloadClient.BytesTotal; download.BytesDone = downloadClient.BytesDone; } if (TorrentRunner.ActiveUnpackClients.TryGetValue(download.DownloadId, out var unpackClient)) { download.BytesTotal = unpackClient.BytesTotal; download.BytesDone = unpackClient.BytesDone; } } } return(torrents); }
public async Task <IList <Torrent> > Get() { var torrents = await _torrentData.Get(); foreach (var torrent in torrents) { foreach (var download in torrent.Downloads) { if (TaskRunner.ActiveDownloads.TryGetValue(download.DownloadId, out var activeDownload)) { download.Speed = activeDownload.Speed; download.BytesSize = activeDownload.BytesSize; download.BytesDownloaded = activeDownload.BytesDownloaded; if (activeDownload.NewStatus.HasValue) { download.Status = activeDownload.NewStatus.Value; } } } } return(torrents); }