예제 #1
0
        /// <summary>
        /// Método para cambiar impresora.
        /// </summary>
        private void ChangePrinter()
        {
            //Si se está imprimiendo algo, le informamos al usuario que debe esperar.
            if (_printJobWrapper.CurrentPrintingJob != null)
            {
                MessageBox.Show("Wait until the current job is printed.", "Change printer", MessageBoxButton.OK, MessageBoxImage.Warning);
            }
            else
            {
                //Mostramos la ventana donde se elige la impresora.
                SelectPrinter_Window selPrintWnd = new SelectPrinter_Window(_sqlConn);
                selPrintWnd.Show();

                //Cambiamos la bandera a true, para que en el evento Closing de la forma
                //sepamos que queremos cambiar sólo de ventana.
                _changePrinter = true;

                this.Close();
            }
        }
        /// <summary>
        /// Realizamos una conexión de prueba a la base de datos.
        /// </summary>
        private void DoConnection()
        {
            //Colocamos el cursor en estado de espera.
            Mouse.OverrideCursor = Cursors.Wait;

            try
            {
                StringBuilder errorMessage = new StringBuilder();
                if (IsAFieldEmpty(grdTxtContainer, errorMessage))
                {
                    errorMessage.Insert(0, "Check the following fields:\n\n");

                    //Si un campo está vació, le mostramos el siguiente mensaje al usuario:
                    MessageBox.Show(errorMessage.ToString(), "Missing fields", MessageBoxButton.OK, MessageBoxImage.Warning);
                }
                else
                {
                    string sqlException = "";

                    //Creamos la variable que encapsula todos los datos de nuestra conexión.
                    SqlConnection sqlConn = new SqlConnection(txtServerIP.Text, txtPort.Text, txtSchema.Text,
                                                    txtUsername.Text, pwdBox.Password);

                    //Realizamos la conexión de prueba con la base de datos.
                    if (sqlConn.IsConnSuccessful(ref sqlException))
                    {
                        //Si fue exitosa, mostramos la ventana donde se selecciona la impresora.
                        SelectPrinter_Window selPrintWnd = new SelectPrinter_Window(sqlConn);
                        selPrintWnd.Show();

                        //Cerramos esta ventana.
                        this.Close();
                    }
                    else
                    {
                        //Si no se pudo realizar la conexión, mostramos el siguiente mensaje:
                        MessageBox.Show(sqlException, "Database connection error", MessageBoxButton.OK, MessageBoxImage.Error);
                    }
                }
            }
            finally
            {
                //Colocamos el cursor en su estado normal.
                Mouse.OverrideCursor = null;
            }
        }