예제 #1
0
 /// <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();
     }
 }
예제 #2
0
        /// <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);
            }
        }
예제 #3
0
        /// <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");
            }
        }
예제 #4
0
        /// <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);
            }
        }
예제 #5
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);
            }
        }
예제 #6
0
 /// <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));
 }