예제 #1
0
        /* Metodo che applica e salva i valori dei campi nel file di configurazione */
        private void applyButton_Click(object sender, RoutedEventArgs e)
        {
            if (validateParameter())
            {
                String           message   = "Vuoi salvare le modifiche effettuate?";
                String           caption   = "Confirm";
                MessageBoxButton buttonsYN = MessageBoxButton.YesNo;
                MessageBoxResult resultMB  = MessageBox.Show(message, caption, buttonsYN, MessageBoxImage.Exclamation);
                if (resultMB == MessageBoxResult.Yes)
                {
                    //allora applico le modifiche:
                    //disabilito i campi cosi che alla prossima apertura tutto ritorna allo stato iniziale
                    nameTextBox.IsEnabled            = false;
                    passwordTextBox.IsEnabled        = false;
                    addressTextBox.IsEnabled         = false;
                    portTextBox.IsEnabled            = false;
                    portTextBoxUDP.IsEnabled         = false;
                    applyButton.IsEnabled            = false;
                    modificaButton.IsEnabled         = true;
                    ripristinaButton.IsEnabled       = true;
                    checkBoxPassword.IsEnabled       = false;
                    checkBoxEnableUdp.IsEnabled      = false;
                    passwordVisibleButton.Visibility = Visibility.Hidden;
                    connectionParameter.ServerName   = nameTextBox.Text;
                    if (checkBoxPassword.IsChecked.Value)
                    {
                        connectionParameter.PasswordEnabled = true;
                        connectionParameter.Password        = passwordTextBox.Password;
                    }
                    else
                    {
                        connectionParameter.PasswordEnabled = false;
                        connectionParameter.Password        = "";
                    }

                    connectionParameter.TcpPort = Int16.Parse(portTextBox.Text);
                    connectionParameter.UdpPort = Int16.Parse(portTextBoxUDP.Text);
                    connectionParameter.Address = addressTextBox.Text;
                    //imposto i valori nel file di configurazione e salvo
                    connectionParameter.applyConfiguration();
                    passwordChanged = false;
                    //minimizzo la finestra e imposto il boolean isConfigured = true
                    isConfigured          = true;
                    startButton.IsEnabled = true;
                }
            }
            else
            {
                String errorMsg = "";
                if (errorValidation[0])
                {
                    errorMsg += "Errore nell'immissione della porta TCP\n";
                }
                if (errorValidation[1])
                {
                    errorMsg += "Errore nell'immisione della porta UDP\n";
                }
                if (errorValidation[2])
                {
                    errorMsg += "Impossibile inserire la stessa password\n";
                }
                if (errorValidation[3])
                {
                    errorMsg += "Porte UDP e TCP uguali\n";
                }
                ErrorMessage(errorMsg);
                passwordChanged = false;
                for (int i = 0; i < 3; i++)
                {
                    errorValidation[i] = false;
                }
            }
        }