Пример #1
0
        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());
        }
Пример #2
0
        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);
        }