Beispiel #1
0
        /// <summary>
        /// Se comprueban todos los inputs de la ventana y que estos tengan datos correctos.
        /// </summary>
        /// <returns>Devuelve una Conexion si los campos obligatorios tienen valores correctos y los demás
        /// estén vacíos o con valores correctos.</returns>
        private Conexion ComprobarCampos()
        {
            // Campos obligatorios: nombre conexión, dirección, usuario, tipo conexión.

            // El operador ?? operador devuelve el operando izquierdo si no es NULL;
            // de lo contrario, devuelve el operando derecho.

            // Comprueba si el nombre tiene datos correctos o está deshabilitado (modoInvitado)
            if (((Comprueba.Nombre(txtBoxNombre.Text)) || !txtBoxNombre.IsEnabled) &&
                (Comprueba.Direccion(txtBoxDireccion.Text)) &&
                (Comprueba.UsuarioConexion(txtBoxUsuario.Text)) &&
                (Comprueba.Puerto(txtBoxPuerto.Text) ?? true))
            {
                string nombre    = txtBoxNombre.Text;
                string direccion = txtBoxDireccion.Text;
                string usuario   = txtBoxUsuario.Text;
                Conexion.TipoConexion tipo;
                bool ssl = false;

                // Comprobando si el tipo de conexión está marcado
                if (rbtnMicrosoftSQL.IsChecked.Value)
                {
                    tipo = Conexion.TipoConexion.MicrosoftSQL;
                    if (chkIntegratedSecurity.IsChecked.Value)
                    {
                        usuario = Usuario.NombreIntegratedSecurity;
                    }
                }
                else if (rbtnMySQL.IsChecked.Value)
                {
                    tipo = Conexion.TipoConexion.MySQL;
                    if (chkUsarSSL.IsChecked.Value)
                    {
                        ssl = true;
                    }
                }
                else
                {
                    Msj.Error("No se ha marcado el tipo de conexión.");
                    return(null);
                }
                int puerto = 0;
                if (!String.IsNullOrWhiteSpace(txtBoxPuerto.Text))
                {
                    puerto = Int32.Parse(txtBoxPuerto.Text);
                }
                if (puerto == 0)
                {
                    Msj.Info("Puerto no introducido. " +
                             "\r\nObteniendo puerto por defecto para bases de datos " + tipo);
                    puerto = BBDDPrograma.ObtenerPuertoDefecto(tipo);
                }

                string   contrasenia = pwdBoxContrasenia.Password;
                Conexion guardar     = new Conexion(nombre, direccion, puerto, usuario,
                                                    contrasenia, tipo, usuarioActivo, ssl);
                return(guardar);
            }
            else
            {
                Msj.Error("Uno o más campos obligatorios están vacíos o con valores nulos.");
                return(null);
            }
        }