/// <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); } }
/// <summary> /// Comprueba que el input Direccion tenga los datos correctos. /// </summary> private void txtBoxDireccion_LostFocus(object sender, RoutedEventArgs e) { TextBox datos = (TextBox)sender; Colorea.BordeCorrectoError(datos, Comprueba.Direccion(datos.Text)); }