示例#1
0
        private void dataGridView1_CellEndEdit(object sender, DataGridViewCellEventArgs e)
        {
            VentasDAO ventasDao    = new VentasDAO();
            Double    cantidadTemp = 0;
            Double    precioTemp   = 0;
            Double    importeTemp  = 0;

            if (dataGridView1.CurrentCell.Value == null)
            {
                return;
            }

            columna = dataGridView1.CurrentCell.ColumnIndex;
            fila    = dataGridView1.CurrentCell.RowIndex;
            if (fila > 10)
            {
                MessageBox.Show("NO SE PUEDEN MÁS DE 11 PRODUCTOS");
                dataGridView1.Rows.RemoveAt(fila);
                calculaTotal();
                columna = 0;
                flag    = true;
            }
            else
            {
                switch (dataGridView1.SelectedCells[0].ColumnIndex)
                {
                case 0:
                    ProductoE productoNuevo = null;
                    int       clave;
                    try
                    {
                        clave = Convert.ToInt32(dataGridView1.CurrentCell.Value);
                    }
                    catch (Exception error)
                    {
                        clave = 0;
                    }
                    if (clave != 0)
                    {
                        productoNuevo = ventasDao.cargarProducto(clave);
                        if (productoNuevo == null)
                        {
                            int filaActual = dataGridView1.CurrentCell.RowIndex;
                            MessageBox.Show("No Existe el Producto");
                            dataGridView1.Rows.RemoveAt(filaActual);
                            calculaTotal();
                            columna = 0;
                            flag    = true;
                        }
                        else
                        {
                            dataGridView1.CurrentRow.Cells[1].Value = productoNuevo.Nombre;
                            dataGridView1.CurrentRow.Cells[2].Value = 0;
                            dataGridView1.CurrentRow.Cells[3].Value = productoNuevo.PrecioVenta;
                            columna = 2;
                            flag    = true;
                        }
                    }
                    else
                    {
                        int filaActual = dataGridView1.CurrentCell.RowIndex;
                        dataGridView1.Rows.RemoveAt(filaActual);
                        MessageBox.Show("No Existe el Producto");
                        calculaTotal();
                        columna = 0;
                        flag    = true;
                    }
                    break;

                case 2:
                    if (dataGridView1.CurrentRow.Cells[0].Value == null)
                    {
                        MessageBox.Show("Inserta Clave de Producto");
                        int filaActual = dataGridView1.CurrentCell.RowIndex;
                        columna = 0;
                        flag    = true;
                        dataGridView1.Rows.RemoveAt(filaActual);
                    }
                    else
                    {
                        try
                        {
                            cantidadTemp = Convert.ToDouble(dataGridView1.CurrentRow.Cells[2].Value.ToString());
                            if (cantidadTemp <= 0)
                            {
                                MessageBox.Show("Solo cifras positivas");
                                dataGridView1.CurrentRow.Cells[2].Value = 0;
                                dataGridView1.CurrentRow.Cells[4].Value = 0;
                                calculaTotal();
                                flag = true;
                                return;
                            }
                        }
                        catch (Exception error)
                        {
                            MessageBox.Show("Ingresar Solo numeros");
                            dataGridView1.CurrentRow.Cells[2].Value = 0;
                            dataGridView1.CurrentRow.Cells[4].Value = 0;
                            calculaTotal();
                            flag = true;
                            return;
                        }
                        precioTemp  = Convert.ToDouble(dataGridView1.CurrentRow.Cells[3].Value.ToString());
                        importeTemp = precioTemp * cantidadTemp;
                        dataGridView1.CurrentRow.Cells[4].Value = importeTemp;
                        columna = 3;
                        calculaTotal();
                        flag = true;
                    }
                    break;

                case 3:
                    if (dataGridView1.CurrentRow.Cells[0].Value == null)
                    {
                        MessageBox.Show("Inserta Clave de Producto");
                        columna = 0;
                        flag    = true;
                        int filaActual = dataGridView1.CurrentCell.RowIndex;
                        dataGridView1.Rows.RemoveAt(filaActual);
                    }
                    else
                    {
                        cantidadTemp = Convert.ToDouble(dataGridView1.CurrentRow.Cells[2].Value.ToString());
                        try
                        {
                            precioTemp = Convert.ToDouble(dataGridView1.CurrentRow.Cells[3].Value.ToString());
                            if (precioTemp <= 0)
                            {
                                MessageBox.Show("Solo cifras positivas");
                                dataGridView1.CurrentRow.Cells[3].Value = 0;
                                dataGridView1.CurrentRow.Cells[4].Value = 0;
                                calculaTotal();
                                flag = true;
                                return;
                            }
                        }
                        catch (Exception error)
                        {
                            MessageBox.Show("Ingresar Solo numeros");
                            dataGridView1.CurrentRow.Cells[3].Value = 0;
                            dataGridView1.CurrentRow.Cells[4].Value = 0;
                            calculaTotal();
                            flag = true;
                            return;
                        }
                        importeTemp = precioTemp * cantidadTemp;
                        dataGridView1.CurrentRow.Cells[4].Value = importeTemp;
                        columna = 0;
                        calculaTotal();
                        fila++;
                        flag = true;
                    }
                    break;
                }
            }
        }