public Task StartUpdateDownload(ServerVersion version) { Task.Run(() => { var previousState = 0; _api.DownloadUpdateProgressChanged += (sender, e) => { if (previousState != e.ProgressPercentage) { previousState = e.ProgressPercentage; _updateHub.Clients.All.SendAsync("UpdateDownloadProgressChanged", new object[] { e.BytesReceived, e.TotalBytesToReceive }); SystemLogger.Instance.LogInformation($"Downloading update {e.ProgressPercentage} - {e.BytesReceived}/{e.TotalBytesToReceive}"); } }; _api.DownloadUpdateFinished += (sender, e) => { _updateHub.Clients.All.SendAsync("UpdateFinished"); }; _api.DownloadUpdateFailed += (sender, e) => { _updateHub.Clients.All.SendAsync("UpdateFailed", new object[] { e.Error }); }; _api.DownloadUpdate(version); }); return(Task.CompletedTask); }
public async Task <ResultDto> Download([FromBody] ServerVersion version) { try { var fileInfo = await api.DownloadUpdate(version); var check = Update.CheckUpdateFile(SystemLogger.Instance, fileInfo.FullName, ServerInfo.Rid); if (!check) { api.DeleteUpdate(); } return(new ResultDto { Result = check }); } catch (Exception) { return(new ResultDto { Result = false }); } }
private async void _timer_Elapsed(object sender, ElapsedEventArgs e) { SystemLogger.Instance.LogInformation("Check for update"); _timer.Stop(); var update = await _api.CheckForUpdates(); if (update != null) { SystemLogger.Instance.LogInformation("Download update"); await _api.DownloadUpdate(update); SystemLogger.Instance.LogInformation("Install update"); } await Init(); }
private async void _timer_Elapsed(object sender, ElapsedEventArgs e) { SystemLogger.Instance.LogInformation("Check for update"); _timer.Stop(); var update = await _api.CheckForUpdates(); if (update != null) { SystemLogger.Instance.LogInformation("Download update"); var fileInfo = await _api.DownloadUpdate(update); var check = Common.Update.Update.CheckUpdateFile(SystemLogger.Instance, fileInfo.FullName, ServerInfo.Rid); if (!check) { _api.DeleteUpdate(); } SystemLogger.Instance.LogInformation("Install update"); await Update(); } await Init(); }