public static void NuevaCompraProducto(Compra_Producto cp) { //creo la conexion SqlConnection cnn = new SqlConnection(conexion); //abro la conexion cnn.Open(); //Creo el comando sql a utlizar SqlCommand cmd = new SqlCommand("insert into compra_producto(id_compra, id_producto, precio, cantidad) Values (@id_compra, @id_producto, @precio, @cantidad)"); cmd.Parameters.Add(new SqlParameter("@id_compra", cp.Id_compra)); cmd.Parameters.Add(new SqlParameter("@id_producto", cp.Id_producto)); cmd.Parameters.Add(new SqlParameter("@precio", cp.Precio)); cmd.Parameters.Add(new SqlParameter("@cantidad", cp.Cantidad)); //asigno la conexion al comando cmd.Connection = cnn; cmd.ExecuteNonQuery(); }
public static ArrayList getCompra_Producto(Int64 id) { //creo la conexion SqlConnection cnn = new SqlConnection(conexion); //abro la conexion cnn.Open(); //creo la lista para almacenar las personas ArrayList listacompra = new ArrayList(); //Creo el comando sql a utlizar SqlCommand cmd = new SqlCommand("select cp.precio, cp.cantidad, p.detalle,c.nombre, p.codigo from compra_producto cp, producto p, categoria c where cp.id_producto = p.id_producto and p.id_categoria = c.id_categoria and cp.id_compra = @id_compra"); cmd.Parameters.Add(new SqlParameter("@id_compra", id)); //asigno la conexion al comando cmd.Connection = cnn; //creo el datareader SqlDataReader obdr = cmd.ExecuteReader(); //recorro el datareader while (obdr.Read()) { Compra_Producto cp = new Compra_Producto(); cp.Precio = Convert.ToDecimal(Math.Round(Convert.ToDecimal(obdr.GetDecimal(0)), 2)); cp.Cantidad = obdr.GetInt32(1); cp.Dato1 = obdr.GetString(2); cp.Dato2 = obdr.GetString(4); cp.Dato3 = obdr.GetString(3); listacompra.Add(cp); } //Cierro la conexion cnn.Close(); //retorno la lsita return listacompra; }
//inicia cuando se aprenta el botón guardar private void btn_no_imprimir_Click(object sender, EventArgs e) { bool continuar = true; //verifica si la facura esta vacia if (txt_num_factura.Text == "" || txt_num_factura.Text == " ") { DialogResult dr = MessageBox.Show(this, "No se ha introducido un número de factura, ¿desea continuar?", "Atención", MessageBoxButtons.YesNo, MessageBoxIcon.Question); if (dr == DialogResult.Yes) { continuar = true; } if (dr == DialogResult.No) { continuar = false; } } //continua si se habilita por el usuarui if (continuar == true) { if (listacarrito.Count > 0 || listacarrito_nuevo.Count > 0) { // verifico si el cliente es nuevo if (cbox_proveedor.SelectedItem == null) { Pais pa = new Pais(); Proveedor pro = new Proveedor(cbox_proveedor.Text, " ", " ", " ", " ", DatosPais.obtener_id_pais_maximo(), 0, " ", pa); DatosProveedor.NuevoProveedor(pro); id_proveedor = DatosProveedor.obtener_id_proveedor_maximo(); } //verifico si hay un cliente seleccionado en el cbox_cliente else { id_proveedor = ((Proveedor)cbox_proveedor.SelectedItem).Id_proveedor; } Int64 id_compra; string tipo; string estado; if (cbox_tipo_factura.SelectedIndex == 0) { tipo = "Contado"; estado = "Pago"; } else { tipo = "Credito"; estado = "Debe"; } Compra c = new Compra(0, id_proveedor, DateTime.Today, date_fecha.Value, date_vencimiento.Value, tipo, txt_num_factura.Text, estado, Convert.ToDecimal(txt_pesos.Text)); DatosCompra.NuevaCompra(c); // obtengo el id max de venta try { id_compra = DatosCompra.obtener_id_compra(); } catch { id_compra = 0; } //recorre el array de carrito para registrar la compra en la base de datos, también modifica el stock del producto for (int i = 0; i < listacarrito.Count; i++) { Compra_Producto cp = new Compra_Producto(0, id_compra, ((Producto)listacarrito[i]).Id_producto, ((Producto)listacarrito[i]).Precio_unidad, ((Producto)listacarrito[i]).Stock); DatosCompra_Producto.NuevaCompraProducto(cp); for (Int32 h = 0; h < listaInicial.Count; h++) { if (((Producto)listacarrito[i]).Id_producto == ((Producto)listainicial2[h]).Id_producto) { ((Producto)listacarrito[i]).Stock = ((Producto)listainicial2[h]).Stock + ((Producto)listacarrito[i]).Stock; DatosProducto.ModificarProducto((Producto)listacarrito[i]); } } } for (int i = 0; i < listacarrito_nuevo.Count; i++) { DatosProducto.NuevoProducto((Producto)listacarrito_nuevo[i]); Int64 id_producto = DatosProducto.obtener_idMax_producto(); Compra_Producto cp = new Compra_Producto(0, id_compra, id_producto, ((Producto)listacarrito_nuevo[i]).Precio_unidad, ((Producto)listacarrito_nuevo[i]).Stock); DatosCompra_Producto.NuevaCompraProducto(cp); } this.Close(); } else { MessageBox.Show(this, "No hay items para dar de alta", "¡Aviso!", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); txt_codigo2.Focus(); } } /*else { txt_num_factura.Focus(); }*/ }