示例#1
0
        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();
        }
示例#3
0
        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;
            }
        }