예제 #1
0
        protected override async void OnLoad(EventArgs e)
        {
            base.OnLoad(e);

            progressBar1.Enabled = true;
            progressBar1.Style   = ProgressBarStyle.Marquee;

            try {
                lblCurrentOperation.Text = "Connessione";
                await testManager.Connect();

                lblCurrentOperation.Text = "Download Dati Test";

                await testManager.DownloadTestData();

                ReloadUi();
            } catch (VersionMismatchException vme) {
                MessageBox.Show(
                    $"Errore di connessione, il erver e i client deveono utlizzare la stessa versione del software.\r\nVersione Server: {vme.ServerVersion}\r\nVersione del client: {vme.ClientVersion}", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                this.DialogResult = DialogResult.Abort;
                this.Close();
                return;
            } catch (Exception ex) {
                MessageBox.Show("Connessione al server fallita. Messaggio di errore: " + ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                this.DialogResult = DialogResult.Abort;
                this.Close();
                return;
            }

            lblTestDir.Text          = "Attendo inizio del test";
            lblCurrentOperation.Text = "Attendo Inizio";

            try {
                await testManager.WaitForTestStart();

                ReloadUi();

                lblCurrentOperation.Text = "Download documentazione";
                await testManager.DownloadTestDocumentation();
            } catch (Exception ex) {
                MessageBox.Show("Download dei dati del test fallito. Messaggio di errore: " + ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                this.DialogResult = DialogResult.Abort;
                this.Close();
                return;
            }

            lblCurrentOperation.Visible = false;
            progressBar1.Visible        = false;

            string message =
                $"Il test è iniziato.\r\nLa cartella del test è {testManager.ResolvedTestPath} puoi trovare la documentazione del test nella sottocartella Documentation se è disponibile. Quando consegnerai veraano inviati tutti i file che si trovano nella cartella del test. in bocca al lupo!";

            testManager.TestState.State = UserTestState.UserState.Testing;

            await testManager.SendStateUpdate();

            MessageBox.Show(message, "Test iniziato", MessageBoxButtons.OK, MessageBoxIcon.Information);

            testTimer.Start();

            testManager.TestStarted();

            ReloadUi();
        }