public bool CanDownload(Server server) { if (server.DownloadUrl == null) { Log.Warning("Unable to download because DownloadUrl is null"); return(false); } var download = new Download(server.DownloadUrl, server.InstallationPath); return(download.CanStart()); }
public async Task <Download?> DownloadAsync(Server server) { if (server.DownloadUrl == null) { throw new ArgumentNullException(nameof(server.DownloadUrl)); } var download = new Download(server.DownloadUrl, server.InstallationPath); if (!download.CanStart()) { return(null); } _downloads.Remove(_downloads.FirstOrDefault(d => d.ForkAndVersion == download.ForkAndVersion)); _downloads.Add(download); await download.StartAsync(_http); return(download); }