Пример #1
0
        private void btnAgregarProducto_Click(object sender, EventArgs e)
        {
            string cantidad = txtCantidad.Text;

            contador = 0;
            subTotal = 0;

            bool   bandera1 = false;
            bool   bandera2 = false;
            double total    = 0;
            string producto = "";
            double precio   = 0;

            if (codigoProducto.Equals(""))
            {
                MessageBox.Show("Debe elegir un producto", "Mensaje de advertencia");
            }
            else
            {
                bandera1 = true;

                if (cantidad == "")
                {
                    MessageBox.Show("No puede dejar en blanco la cantidad", "Mensaje de advertencia");
                }
                else
                {
                    cantidad2 = Convert.ToInt32(txtCantidad.Text);


                    if (cantidad2 <= stock)
                    {
                        bandera2 = true;
                    }
                    else
                    {
                        MessageBox.Show("Stock Insuficiente", "Mensaje de advertencia");
                        txtCantidad.Text = "";
                        txtCantidad.Focus();
                    }
                }
            }

            if (bandera2 && bandera1)
            {
                string product = "";
                int    cant    = 0;
                int    cant2   = 0;
                Console.Write(" SubTotal antes del for " + subTotal);
                for (int count = 0; count < dataGridViewFactura.Rows.Count; count++)
                {
                    product = (string)dataGridViewFactura.Rows[count].Cells["columnProducto"].Value;

                    Console.Write("entro 0");
                    if (p.Equals(product))
                    {
                        Console.Write("entro 1");
                        banderaTabla = false;
                        cant         = (int)dataGridViewFactura.Rows[count].Cells["columnCantidad"].Value;
                        total        = (double)dataGridViewFactura.Rows[count].Cells["columnTotal"].Value;



                        precio = MetodosBD.buscarPrecio(codigoProducto);

                        Console.Write("stock " + stock);
                        Console.Write("cantidad " + cantidad2);
                        nuevoStock = stock - cantidad2;


                        cant2 = cant + cantidad2;
                        dataGridViewFactura.Rows[count].Cells["columnCantidad"].Value = cant2;
                        total = precio * cant2;
                        dataGridViewFactura.Rows[count].Cells["columnTotal"].Value = total;
                        // subTotal = subTotal + total;



                        MetodosBD.ActualizarStock(codigoProducto, nuevoStock);

                        dataGridViewProducto.DataSource = MetodosBD.cargarProductos2();
                        dataGridViewProducto.ClearSelection();
                    }
                    subTotal = subTotal + (double)dataGridViewFactura.Rows[count].Cells["columnTotal"].Value;
                    Console.Write(" SubTotal despues  del for " + subTotal);
                    iva              = subTotal * 0.12;
                    totalFinal       = iva + subTotal;
                    txtSubTotal.Text = Convert.ToString(subTotal);
                    txtIva.Text      = Convert.ToString(iva);
                    txtTotal.Text    = Convert.ToString(totalFinal);
                }
                if (banderaTabla)
                {
                    Console.Write("entro 2");
                    producto = MetodosBD.buscarProducto(codigoProducto);
                    precio   = MetodosBD.buscarPrecio(codigoProducto);
                    total    = precio * cantidad2;


                    dataGridViewFactura.Rows.Add(cantidad2, producto, precio, total);
                    Console.Write("stock " + stock);
                    Console.Write("cantidad " + cantidad2);

                    nuevoStock = stock - cantidad2;
                    MetodosBD.ActualizarStock(codigoProducto, nuevoStock);
                    dataGridViewProducto.DataSource = MetodosBD.cargarProductos2();
                    dataGridViewProducto.ClearSelection();
                    Console.Write(" SubTotal antes del for " + subTotal);
                    //for (int count = 0; count < dataGridViewFactura.Rows.Count; count++)
                    //{
                    subTotal = subTotal + total;
                    //}

                    Console.Write(" SubTotal despues  del for " + subTotal);


                    // subTotal = subTotal + total;
                    iva              = subTotal * 0.12;
                    totalFinal       = iva + subTotal;
                    txtSubTotal.Text = Convert.ToString(subTotal);
                    txtIva.Text      = Convert.ToString(iva);
                    txtTotal.Text    = Convert.ToString(totalFinal);



                    banderaTabla = true;
                }



                txtCantidad.Text = "";
                txtCantidad.Focus();
                bandera1       = false;
                bandera2       = false;
                codigoProducto = "";
            }
        }