private void btnEliminar_Click(object sender, EventArgs e) { List <string[]> listaEliminar = new List <string[]>(); for (int i = 0; i < dgvCotizacion.RowCount; i++) { if (bool.Parse(dgvCotizacion.Rows[i].Cells["seleccionador"].EditedFormattedValue.ToString())) { listaEliminar.Add(new string[3] { dgvCotizacion.Rows[i].Cells["codigo"].Value.ToString(), dgvCotizacion.Rows[i].Cells["descripcion"].Value.ToString(), dgvCotizacion.Rows[i].Cells["cantidad"].Value.ToString() }); } } if (listaEliminar.Count > 0) { string mensajeConfirmacion = ""; foreach (string[] datos in listaEliminar) { mensajeConfirmacion += datos[1] + "\n"; } DialogResult confirmacion = MessageBox.Show(this, "¿Esta seguro que desea eliminar " + "estos productos de la venta? \nListado: \n" + mensajeConfirmacion, "Confirmacion", MessageBoxButtons.YesNo, MessageBoxIcon.Question); if (confirmacion == DialogResult.Yes) { for (int i = 0; i < dgvCotizacion.RowCount; i++) { if (bool.Parse(dgvCotizacion.Rows[i].Cells["seleccionador"].EditedFormattedValue.ToString())) { dgvCotizacion.Rows.RemoveAt(i); i--; } } MessageBox.Show("Eliminados"); Buscador("SELECT codigo, nombre, existencia FROM productos " + "WHERE codigo LIKE '%" + buscador + "%' OR nombre LIKE '%" + buscador + "%'"); GuardarCotizacion.Guardar(Guardar()); Total(); } } else { MessageBox.Show("Seleccione al menos un producto a eliminar."); } }
private void dgvCotizacion_CellEndEdit(object sender, DataGridViewCellEventArgs e) { if (e.ColumnIndex == 3) { string codigo = ValorCelda(e.RowIndex, "codigo"); float minPrice = float.Parse(Sql.BuscarDatos("SELECT precio_minimo FROM productos WHERE codigo = '" + codigo + "';")[0][0]); if (float.Parse(ValorCelda(e.RowIndex, "precio")) < minPrice) { dgvCotizacion.Rows[e.RowIndex].Cells[3].ErrorText = "El precio minimo es de: " + minPrice.ToString(); dgvCotizacion.Rows[e.RowIndex].Cells[3].Value = ValorAnterior(codigo).ToString(); } else { float sub = float.Parse(dgvCotizacion.Rows[e.RowIndex].Cells[3].Value.ToString()); sub *= float.Parse(dgvCotizacion.Rows[e.RowIndex].Cells[2].Value.ToString()); sub -= sub * Descuento(codigo) / 100; dgvCotizacion.Rows[e.RowIndex].Cells[4].Value = sub; Total(); GuardarCotizacion.Guardar(Guardar()); dgvCotizacion.Rows[e.RowIndex].Cells[3].ErrorText = ""; } } }
private void dgvProductos_CellDoubleClick(object sender, DataGridViewCellEventArgs e) { try { List <string[]> lista = Sql.BuscarDatos("SELECT * FROM productos WHERE codigo = '" + ValorCelda(dgvProductos, e.RowIndex, "clmCodigo") + "'"); dialogCantidad frmCantidad = new dialogCantidad(lista[0][0] + " (" + lista[0][1] + ")", 1000, float.Parse(lista[0][7 - tipoCliente]), Descuento(lista[0][0])); frmCantidad.ShowDialog(); if (frmCantidad.Cantidad > 0) { float subtotal; subtotal = (float)frmCantidad.Cantidad * float.Parse(lista[0][7 - tipoCliente]); subtotal -= subtotal * Descuento(lista[0][0]) / 100; for (int i = 0; i < dgvCotizacion.RowCount; i++) { if (dgvCotizacion.Rows[i].Cells["codigo"].Value.ToString() == lista[0][0]) { dgvCotizacion.Rows[i].Cells["cantidad"].Value = decimal.Parse(dgvCotizacion.Rows[i].Cells["cantidad"].Value.ToString()) + frmCantidad.Cantidad; subtotal = float.Parse(dgvCotizacion.Rows[i].Cells["cantidad"].Value.ToString()) * float.Parse(dgvCotizacion.Rows[i].Cells["precio"].Value.ToString()); dgvCotizacion.Rows[i].Cells["subtotal"].Value = subtotal - subtotal * Descuento(lista[0][0]) / 100; frmCantidad.Dispose(); GuardarCotizacion.Guardar(Guardar()); Total(); return; } } dgvCotizacion.Rows.Add(new string[] { lista[0][0], lista[0][1], frmCantidad.Cantidad.ToString(), lista[0][7 - tipoCliente], subtotal.ToString(), Descuento(lista[0][0]).ToString() }); Total(); GuardarCotizacion.Guardar(Guardar()); } frmCantidad.Dispose(); } catch (Exception) { } }