예제 #1
0
        //Método utilizado para validar si los datos ingresados por el usuario son coinciden, en caso de ser positivo, se brinda el acceso esperado.
        private void validacion()
        {
            //Tomar valores de componentes del formulario y guardarlo en variables.
            string user     = txtUsername.Text;
            string password = txtPassword.Text;

            try
            {
                //Abrir Conexión a base de datos.
                SqlConnection con = new SqlConnection();
                con.ConnectionString = CS;
                con.Open();

                //Se brinda el query al objeto SQL COMMAND para ejecutar el mismo.
                string     query = "SELECT COUNT(*) FROM Usuarios WHERE Nombre IN(@User) AND Contrasena IN(@Password)";
                SqlCommand cmd   = new SqlCommand(query, con);

                //Se le pasa parámetros al SQL COMMAND.
                cmd.Parameters.Add(new SqlParameter("@User", user));
                cmd.Parameters.Add(new SqlParameter("@Password", password));

                //Tomar el valor retornado de la base de datos.
                var    CompareValue = cmd.ExecuteScalar();
                string compare      = CompareValue.ToString();

                con.Close();

                //En caso de retornar 1 (que haya pasado los filtros de lugar) brindar acceso al sistema.
                if (compare.Equals("1"))
                {
                    this.Hide();
                    FrmMenu menu = new FrmMenu();
                    menu.ShowDialog();
                }
                else
                {
                    //En caso contrario, informar que la información digitada fue errónea.
                    MessageBox.Show("Contraseña/Usuario digitado de forma errónea, o cuenta no existente", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
            }
            catch (Exception msg) {
                //En caso de Error, tomar datos y insertarlos en la entidad de Logs.
                SqlConnection con = new SqlConnection();
                con.ConnectionString = CS;

                string eMessage = msg.ToString();
                con.Open();

                string     query = "INSERT INTO LOGS VALUES(@logInfo, GETDATE())";
                SqlCommand cmd   = new SqlCommand(query, con);
                cmd.Parameters.Add(new SqlParameter("@logInfo", eMessage));
                MessageBox.Show("No se pudo completar solicitud, favor contactar al proveedor", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);

                cmd.ExecuteNonQuery();

                con.Close();
            }
        }
예제 #2
0
        //Método utilizado para Guardar los nuevos registros.
        private void btnGuardar_Click(object sender, EventArgs e)
        {
            //Validar que todos los campos estén llenos.
            if (
                string.IsNullOrEmpty(cbxChasis.Text) || string.IsNullOrEmpty(cbxVendedores.Text) || string.IsNullOrEmpty(dtpFechaVenta.Text) ||
                string.IsNullOrEmpty(cbxModoPago.Text) || string.IsNullOrEmpty(txtMontoTotal.Text))
            {
                MessageBox.Show("Todos los campos son requeridos", "Error", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
            else
            {
                //En caso de que estén llenos llevar a cabo el proceso de guardar información a la base de Datos.
                try
                {
                    SqlConnection con = new SqlConnection();
                    con.ConnectionString = CS;
                    con.Open();

                    string query = "INSERT INTO Ventas VALUES(@fecha,(SELECT VendedorId FROM Vendedores WHERE Nombres IN(@nombreVendedor))," +
                                   " @tipopago,@totalmonto, (SELECT VehiculoId FROM Vehiculos WHERE Chasis IN(@chasis)))";

                    SqlCommand cmd = new SqlCommand(query, con);
                    cmd.Parameters.Add(new SqlParameter("@fecha", Convert.ToDateTime(dtpFechaVenta.Text)));
                    cmd.Parameters.Add(new SqlParameter("@nombreVendedor", cbxVendedores.Text));
                    cmd.Parameters.Add(new SqlParameter("@tipopago", cbxModoPago.Text));
                    cmd.Parameters.Add(new SqlParameter("@chasis", cbxChasis.Text));
                    cmd.Parameters.Add(new SqlParameter("@totalmonto", txtMontoTotal.Text));

                    cmd.ExecuteNonQuery();
                    MessageBox.Show("Venta Realizada de forma satisfactoria");

                    con.Close();

                    //Al concluir, nos dirigimos al formulario menú, actualizando los grids.
                    FrmMenu menu = (FrmMenu)Application.OpenForms["FrmMenu"];
                    menu.Show();
                    menu.FillDGVSold();
                    menu.FillDGVNotSold();
                    menu.Refresh();
                    this.Close();
                }
                catch (Exception msg)
                {
                    MessageBox.Show("" + msg);
                    //En caso de Error, tomar datos y insertarlos en la entidad de Logs.
                    SqlConnection con = new SqlConnection();
                    con.ConnectionString = CS;

                    string eMessage = msg.ToString();
                    con.Open();

                    string     query = "INSERT INTO LOGS VALUES(@logInfo, GETDATE())";
                    SqlCommand cmd   = new SqlCommand(query, con);
                    cmd.Parameters.Add(new SqlParameter("@logInfo", eMessage));
                    MessageBox.Show("No se pudo completar solicitud, favor contactar al proveedor", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);

                    cmd.ExecuteNonQuery();

                    con.Close();
                }
            }
        }