private void btnFinalizar_Click(object sender, EventArgs e) { if (cmbEstacion.SelectedIndex != -1 && cmbSurtidor.SelectedIndex != -1 && cmbUnidadMedida.SelectedIndex != -1 && txtBoxCantidadCombustible.Text != "") { DialogResult volver = MessageBox.Show("Desea finalizar el proceso de venta?", "Finalizar Venta", MessageBoxButtons.YesNo); if (volver == DialogResult.Yes) { int nro = numeroNuevoTicket; DateTime fecha = dateTimePicker1.Value; int cuit = (int)cmbEstacion.SelectedValue; int surtidor = (int)cmbSurtidor.SelectedValue; int cantidadComb = int.Parse(txtBoxCantidadCombustible.Text); int unidadMedida = (int)cmbUnidadMedida.SelectedValue; string observaciones = txtBoxObvs.Text.ToString(); nuevoTicket = new Ticket(nro, fecha, cuit, surtidor, cantidadComb, unidadMedida, observaciones); ConexionBD conexion = new ConexionBD(); conexion.iniciar_transaccion(); InsertarTicket(nuevoTicket, conexion); if (dgrTicketxProducto.Rows.Count != 0) //Valida que hayan detalles a insertar { foreach (DataGridViewRow r in dgrTicketxProducto.Rows) { int nroticket = (int)r.Cells["numeroTicket"].Value; int idProducto = (int)r.Cells["idProducto"].Value; string cantidad = r.Cells["cantidad"].Value.ToString(); float precio = (float)r.Cells["precioxcantidad"].Value; TicketProducto nuevoDetalle = new TicketProducto(nroticket, idProducto, cantidad, precio); InsertarDetalle(nuevoDetalle, conexion); Producto productoSeleccionado = new Producto(idProducto); int nuevaCantidad = int.Parse(cantidad); productoSeleccionado.actualizarStockActualProducto(-nuevaCantidad); } //MessageBox.Show("La venta de productos se registró correctamente!"); //conexion.cerrar_transaccion(); } MessageBox.Show("La venta de combustible se registró correctamente!"); conexion.cerrar_transaccion(); LimpiarCampos(grpDetalle); LimpiarCampos(grpTicket); txtBoxObvs.Clear(); grpTicket.Enabled = true; VaciarGrilla(dgrTicketxProducto); BuscarnroTicket(); cmbEstacion.Enabled = true; cmbSurtidor.Enabled = false; lblTotalCalculado.Text = "0"; } } else { MessageBox.Show("La informacion de la venta están vacios"); } }
private void InsertarDetalle(TicketProducto nuevoDetalle, ConexionBD conexion) { try { string sql = "INSERT INTO TicketXProducto VALUES (" + nuevoDetalle.NroTicket + ", " + nuevoDetalle.IdProducto + ", " + nuevoDetalle.Cantidad + ", " + nuevoDetalle.Precio + ")"; conexion.insertar(sql); } catch (Exception) { MessageBox.Show("Error al insertar los datos del ticket generado"); } }