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; } } }