private static void CancelarDetallada(int id) { try { Venta v = new Venta(id); v.RecuperarVenta(); for (int i = 0; i < v.IDProductos.Count; i++) { Inventario.CambiarCantidadInventario(v.IDProductos[i], v.Cantidad[i], Config.idSucursal); Promociones.CambiarExistencias(v.Promocion[i], v.Cantidad[i]); } } catch (MySqlException ex) { throw ex; } catch (Exception ex) { throw ex; } }
/// <summary> /// Inserta los productos de la venta en la base de datos, y en caso de estar ya, los actualiza /// </summary> private void InsertarProductos() { try { MySqlCommand sql = new MySqlCommand(); for (int i = 0; i < idP.Count; i++) { sql.CommandText = "INSERT INTO venta_detallada (id_venta, id_producto, cant, precio, descuento, unidad, paquete, id_promocion) " + "VALUES (?id_venta, ?id_producto, ?cant, ?precio, ?descuento, ?unidad, ?paquete, ?promocion) " + "ON DUPLICATE KEY UPDATE cant=?cant, precio=?precio, descuento=?descuento, unidad=?unidad, paquete=?paquete, id_promocion=?promocion;"; sql.Parameters.AddWithValue("?id_venta", id); sql.Parameters.AddWithValue("?id_producto", idP[i]); sql.Parameters.AddWithValue("?cant", cantidad[i]); sql.Parameters.AddWithValue("?precio", precio[i]); sql.Parameters.AddWithValue("?descuento", descuentoP[i]); sql.Parameters.AddWithValue("?unidad", unidad[i]); sql.Parameters.AddWithValue("?paquete", paquete[i]); sql.Parameters.AddWithValue("?promocion", promocion[i]); ConexionBD.EjecutarConsulta(sql); sql.Parameters.Clear(); if (this.abierta == false) { Inventario.CambiarCantidadInventario(idP[i], (cantidad[i] - cantApartado[i]) * -1, Config.idSucursal); Promociones.CambiarExistencias(promocion[i], cantidad[i] * -1); } } InicializarVentaDetallada(); } catch (MySqlException ex) { InicializarVentaDetallada(); throw ex; } catch (Exception ex) { InicializarVentaDetallada(); throw ex; } }