private void btnhacerventa_Click(object sender, EventArgs e) { MessageBox.Show("" + DateTime.Now.ToString("hh:mm:ss")); MessageBox.Show("" + DateTime.Now.ToString("dd/MM/yyyy")); AgregarVenta.venta venta = new AgregarVenta.venta(); venta.idcliente = idClientecombobox; venta.tipo_comprobante = txtcomprovante.Text; venta.serie_comprobante = txtseria_comprobante.Text; venta.num_comprobante = txtnumerocomprovante.Text; venta.fecha_hora = DateTime.Now.ToString("hh:mm:ss") + DateTime.Now.ToString("dd/MM/yyyy"); venta.impuesto = Convert.ToDecimal(.001); venta.total_venta = Convert.ToDecimal(labelTotal.Text); venta.estado = "paso"; for (int fila = 0; fila < dataGridViewVentaS.Rows.Count - 1; fila++) { AgregarVenta.detalleventa detalleventa = new AgregarVenta.detalleventa(); detalleventa.idarticulo = int.Parse(dataGridViewVentaS.Rows[fila].Cells["id"].Value.ToString()); detalleventa.cantidad_cajas = int.Parse(dataGridViewVentaS.Rows[fila].Cells["cantidad_cajas"].Value.ToString()); detalleventa.cantidad_piezas = int.Parse(dataGridViewVentaS.Rows[fila].Cells["cantidad_pieza"].Value.ToString()); detalleventa.precio_venta = Convert.ToDecimal(dataGridViewVentaS.Rows[fila].Cells["precio_venta"].Value.ToString()); detalleventa.descuento = Convert.ToDecimal(dataGridViewVentaS.Rows[fila].Cells["descuento"].Value.ToString()); listaDVenta.Add(detalleventa); } int retotno = Registrar(venta, listaDVenta); MessageBox.Show("" + retotno); }
private static int Registrar(AgregarVenta.venta venta, List <AgregarVenta.detalleventa> detalleVenta) { // MessageBox.Show("hola que paso"); int retorno = 0; int idventaconsulta = 0; //MySqlTransaction tr = null; MySqlConnection conexcion = BDConexcion.obtenerconexcion(); MySqlTransaction tr = conexcion.BeginTransaction(); try { MySqlCommand QuerySqlingreso = new MySqlCommand(string.Format("INSERT INTO venta(idcliente,tipo_comprobante,serie_comprobante,num_comprobante,fecha_hora,impuesto,total_venta,estado) VALUES('{0}','{1}','{2}','{3}','{4}','{5}','{6}','{7}')", venta.idcliente, venta.tipo_comprobante, venta.serie_comprobante, venta.num_comprobante, venta.fecha_hora, venta.impuesto, venta.total_venta, venta.estado), conexcion, tr); // idingresoconsulta =(int) QuerySqlingreso.ExecuteScalar(); //MessageBox.Show("Id ingreso nuevo"+ idingresoconsulta.ToString()); QuerySqlingreso.ExecuteNonQuery(); MySqlCommand comando = new MySqlCommand(string.Format("SELECT MAX(idventa) FROM venta"), conexcion, tr); // MySqlDataReader reader = comando.ExecuteReader(); idventaconsulta = (int)comando.ExecuteScalar(); foreach (AgregarVenta.detalleventa dv in detalleVenta) { /* MessageBox.Show("idarticulo" + dingresos.idarticulo); * MessageBox.Show("cantidad_cajas" + dingresos.cantidad_cajas); * MessageBox.Show("pieza_caja" + dingresos.pieza_caja); * MessageBox.Show("total_articulos" + dingresos.total_articulos); * MessageBox.Show("precio_compra_caja" + dingresos.precio_compra_caja); * MessageBox.Show("precio_venta_caja" + dingresos.precio_venta_caja); * MessageBox.Show("precio_venta_unidad" + dingresos.precio_venta_unidad); * MessageBox.Show("idingreso" + idingresoconsulta); */ MySqlCommand QuerySqldingreso = new MySqlCommand(string.Format("INSERT INTO detalle_venta(idarticulo,cantidad_cajas,cantidad_pieza,precio_venta,descuento,idventa) VALUES('{0}','{1}','{2}','{3}','{4}','{5}')", dv.idarticulo, dv.cantidad_cajas, dv.cantidad_piezas, dv.precio_venta, dv.descuento, idventaconsulta), conexcion, tr); retorno = QuerySqldingreso.ExecuteNonQuery(); } tr.Commit(); } catch (Exception e) { tr.Rollback(); MessageBox.Show("Error" + e); } finally { conexcion.Close(); } return(retorno); }