Exemplo n.º 1
0
        private async void MainForm_Load(object sender, System.EventArgs e)
        {
            try
            {
                _settingsContainer = await _settingsManager.LoadAsync();

                var remoteAppVersion = await _versionChecker.GetRemoteConfigurationVersion(_settingsContainer.RepositoryLink);

                if (remoteAppVersion != _settingsContainer.AppVersion)
                {
                    var result = MessageBox.Show(NewUpdateMessageString, "Aktualizacja", MessageBoxButtons.YesNo, MessageBoxIcon.Question);

                    if (result == DialogResult.Yes)
                    {
                        Opacity = 100;

                        _processTerminator.Terminate("MicrOS DevTools");
                        await _fileDownloader.DownloadAndSaveAsync(_settingsContainer.RepositoryLink);

                        Thread.Sleep(500);
                        MessageBox.Show(UpdateDoneString, "Aktualizacja", MessageBoxButtons.OK, MessageBoxIcon.Information);

                        _settingsContainer.AppVersion = remoteAppVersion;
                        await _settingsManager.SaveAsync(_settingsContainer);

                        Process.Start(DevToolsProcessName);
                    }
                }
            }
            catch
            {
                MessageBox.Show("Nie można odnaleźć serwera aktualizacji, popraw adres i zresetuj aplikację.", "Błąd", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }

            Application.Exit();
        }