//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(); } }
//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(); } } }