public BindingList <LineaProducto> lineasVenta(int id) { int id_prod; int cantidad; BindingList <LineaProducto> lista = new BindingList <LineaProducto>(); BindingList <Producto> productos; DatosProducto ProductoDA = new DatosProducto(); productos = ProductoDA.listarProductos(); try { MySqlConnection con = new MySqlConnection(cadConn); con.Open(); MySqlCommand cmd = new MySqlCommand(); cmd.CommandType = System.Data.CommandType.StoredProcedure; cmd.CommandText = "obtener_lineas_de_venta"; cmd.Connection = con; cmd.Parameters.Add("_id_venta", MySqlDbType.Int32).Value = id; MySqlDataReader rdr = cmd.ExecuteReader(); while (rdr.Read()) { id = rdr.GetInt32("id"); id_prod = rdr.GetInt32("id_producto"); cantidad = rdr.GetInt32("cantidad"); foreach (Producto p in productos) { if (p.Id == id_prod) { Producto newprod = p; LineaProducto lp = new LineaProducto(cantidad, newprod); lista.Add(lp); break; } } } con.Close(); } catch (Exception e) { MessageBox.Show("Ha ocurrido una excepción durante la ejecución de la accion SQL: " + e.Message); } return(lista); }
private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e) { // label2.Text = dataGridView1[0, e1.RowIndex].Value.ToString(); var e1 = (DataGridViewCellEventArgs)e; var productId = Int16.Parse(dataGridView1[0, e1.RowIndex].Value.ToString()); LineaProducto cartItem = _dq.buscarItem(Valores.PedidoId, productId); if (cartItem == null) { cartItem = new LineaProducto { LineaProductoId = Guid.NewGuid().ToString(), PedidoId = Valores.PedidoId, UsuarioId = Valores.Usuario.Id, Cantidad = 1, Producto = _dq.getProductoById(productId), ProductoId = productId, FechaCreacion = DateTime.Now, }; _dq.crearLineaProducto(cartItem); } else { _dq.actualizarItem(Valores.PedidoId, productId); } // gridOrderLines.DataSource = _dq.productosDelPedido(Valores.PedidoId).ToList(); var lineasPedidas = _dq.productosDelPedido(Valores.PedidoId); gridOrderLines.DataSource = lineasPedidas.Select(o => new { Nombre = o.Producto.Nombre, Cantidad = o.Cantidad }).ToList(); }
private void btn_agProd_Click(object sender, EventArgs e) { Form13BuscaProducto buscaProducto = new Form13BuscaProducto(); if (buscaProducto.ShowDialog() == DialogResult.OK) { //listaProductos.Add(buscaProducto.ObjetoSeleccionado); double sum = 0d; int encontrado = 0; foreach (LineaProducto lp in listaProductos) { if (lp.Producto.Id == ((LineaProducto)buscaProducto.ObjetoSeleccionado).Producto.Id) { LineaProducto aux = lp; listaProductos.Remove(lp); aux.Cantidad += ((LineaProducto)buscaProducto.ObjetoSeleccionado).Cantidad; listaProductos.Add(aux); encontrado++; break; } } if (encontrado == 0) { listaProductos.Add((LineaProducto)buscaProducto.ObjetoSeleccionado); } foreach (LineaProducto lp in listaProductos) { sum += lp.Cantidad * lp.Producto.Precio; } label_precio.Text = "Precio Total: " + sum.ToString(); double newprecio = sum * (1 - ((double)numericUpDown1.Value / 100)); label_precio_final.Text = "Precio Final: " + newprecio.ToString(); precioDoc = newprecio; } }