internal bool Connect(DatabaseConfig databaseConfig, ref bool newLoginData)
        {
            newLoginData = false;

            while (true)
            {
                try
                {
                    Connection = new SqlConnection(ConnectionString);
                    Connection.Open();
                    return(true);
                }
                catch (Exception ex)
                {
                    if (ex.HResult == -2146232060 && ex.Message.Contains(ErrorLoginFailed))
                    {
                        // Los datos de inicio de sesión en la base de datos son incorrectos.
                        MessageBox.Show("Los datos de inicio de sesión a la base de datos son incorrectos.", My.Application.Info.Title, MessageBoxButtons.OK, MessageBoxIcon.Exclamation);

                        // Pido datos nuevos.
                        LoginInfo loginInfo = new LoginInfo();
                        loginInfo.textboxUsuario.Text  = UserId;
                        loginInfo.textboxPassword.Text = Password;
                        if (loginInfo.ShowDialog() != DialogResult.OK)
                        {
                            return(false);
                        }
                        UserId = loginInfo.textboxUsuario.Text.TrimAndReduce();
                        databaseConfig.UserId = loginInfo.textboxUsuario.Text.TrimAndReduce();
                        Password = loginInfo.textboxPassword.Text.Trim();
                        if (Password.Length > 0)
                        {
                            if (PasswordEncrypt())
                            {
                                databaseConfig.Password = PasswordEncrypted;
                            }
                        }
                        else
                        {
                            databaseConfig.Password = string.Empty;
                        }
                        CreateConnectionString();
                        loginInfo.Close();
                        loginInfo.Dispose();
                        newLoginData = true;
                    }
                    else
                    {
                        Error.ProcessError(ex, "Error al conectarse a la Base de Datos.");
                        return(false);
                    }
                }
            }
        }