/// <summary> /// Elimina de la lista de conexiones la conexión seleccionada, ejecuta el comando /// que borra la conexión de la BBDD, y limpia los campos de la aplicación /// </summary> private void ListaBorrar() { if (conexionActual != null) { listaConexiones.Remove(conexionActual); BBDDPrograma.EliminarConexion(conexionActual); LimpiarDatos(); } }
/// <summary> /// Guarda la conexión resultante de los datos actualmente introducidos en base de datos, /// o en modo local si se está en modo invitado. /// </summary> /// <returns>True si la conexión se ha podido guardar.</returns> private bool Guardar() { Conexion guardar = ComprobarCampos(); if (guardar != null) { if (!modoInvitado) { // Si no está marcado el check de contraseñas, se borran los datos if (chkGuardarContrasenia.IsChecked.Value) { if (Comprueba.ContraseniaConexion(pwdBoxContrasenia.Password) ?? false) { // Todo correcto, se devuelve una conexion guardando contraseña guardar.ContraseniaConexion = pwdBoxContrasenia.Password; } else { Msj.Aviso("Se ha marcado 'guardar contraseña' pero está vacía o con valores nulos."); return(false); } } else { guardar.ContraseniaConexion = ""; } ResultadoConexion resultado = BBDDPrograma.RegistrarConexion(guardar); resultado.MostrarMensaje(); // Si se guarda, lo almacenamos temporalmente por si se desea acceder directamente if (resultado.ResultadoActual == ResultadoConexion.TipoResultado.ACEPTADO) { conexionActual = resultado.ConexionGuardar; listaConexiones.Add(conexionActual); } return(resultado.ResultadoActual == ResultadoConexion.TipoResultado.ACEPTADO); } else { conexionActual = guardar; return(true); } } else { return(false); } }
/// <summary> /// Comprueba los inputs y realiza una comprobación de los datos contra la base de datos. /// Si son correctos, se cambia ventana a ventana Conexión. /// </summary> private void btnAcceder_Click(object sender, RoutedEventArgs e) { if (ComprobarCampos()) { ResultadoLogin resultado = BBDDPrograma.LoginUsuario(txtBoxUsuario.Text, pwdBoxContrasenia.Password); resultado.MostrarMensaje(); // Si el login ha sido correcto, abrimos la ventana de conexión pasando el usuario logeado. if (resultado.ResultadoActual == ResultadoLogin.TipoResultado.ACEPTADO) { VentanaConexion vc = new VentanaConexion(resultado.UsuarioActual); Manejador.CambiarVentana(this, vc); } } else { Msj.Error("Uno o más campos contienen errores"); } }
/// <summary> /// Comprueba si los datos de los inputs son correctos, /// luego guarda el usuario actual en base de datos. /// </summary> /// <returns>True si se ha podido almacenar el usuario en la base de datos.</returns> private bool Guardar() { if (ComprobarCampos()) { ResultadoRegistro resultado = BBDDPrograma.RegistrarUsuario(txtBoxUsuario.Text, pwdBoxContrasenia.Password); resultado.MostrarMensaje(); // Si se guarda, lo almacenamos temporalmente por si se desea acceder directamente if (resultado.ResultadoActual == TipoResultado.ACEPTADO) { usuarioGuardado = resultado.UsuarioActual; } return(resultado.ResultadoActual == TipoResultado.ACEPTADO); } else { Msj.Error("Uno o más campos contienen errores"); return(false); } }
/// <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> /// Hace una llamada a la BBDD para obtener las conexiones del usuario /// </summary> /// <returns>Una lista observable con las conexiones del usuario</returns> private ObservableCollection <Conexion> ObtenerConexionesUsuario() { return(BBDDPrograma.ObtenerConexionesUsuario(usuarioActivo)); }