public override async Task<string> Download(string path, ITorrentSearchResult searchResult) {
            var client = CreateClient();
            var uri = new Uri(searchResult.MagnetUri);

            var result = await client.AddUrlTorrentAsync(uri, searchResult.Name);
            if (result.Error != null) throw result.Error;

            return result.AddedTorrent.Hash;
        }
        public override Task<string> Download(string path, ITorrentSearchResult searchResult) {
            return Task.Run(() => {
                var client = CreateClient();

                var torrent = new NewTorrent { Filename = searchResult.MagnetUri, DownloadDirectory = Path.Combine(path, searchResult.Name) };
                var result = client.AddTorrent(torrent);
                if (!string.IsNullOrEmpty(result.ErrorString)) throw new NovaromaException(result.ErrorString + " ("+ result.Error +")");

                return result.HashString;
            });
        }
        public override async Task <string> Download(string path, ITorrentSearchResult searchResult)
        {
            var client = CreateClient();
            var uri    = new Uri(searchResult.MagnetUri);

            var result = await client.AddUrlTorrentAsync(uri, searchResult.Name);

            if (result.Error != null)
            {
                throw result.Error;
            }

            return(result.AddedTorrent.Hash);
        }
        public override Task <string> Download(string path, ITorrentSearchResult searchResult)
        {
            return(Task.Run(() => {
                var client = CreateClient();

                var torrent = new NewTorrent {
                    Filename = searchResult.MagnetUri, DownloadDirectory = Path.Combine(path, searchResult.Name)
                };
                var result = client.AddTorrent(torrent);
                if (!string.IsNullOrEmpty(result.ErrorString))
                {
                    throw new NovaromaException(result.ErrorString + " (" + result.Error + ")");
                }

                return result.HashString;
            }));
        }
 public abstract Task<string> Download(string path, ITorrentSearchResult searchResult);
 public abstract Task <string> Download(string path, ITorrentSearchResult searchResult);