Ejemplo n.º 1
0
 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);
 }
Ejemplo n.º 2
0
        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
                });
            }
        }
Ejemplo n.º 3
0
        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();
        }
Ejemplo n.º 4
0
        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();
        }