private void dgvProformas_DoubleClick(object sender, EventArgs e) { string nit_cliente = dgvProformas.CurrentRow.Cells[4].Value.ToString(); string nombre_cliente = dgvProformas.CurrentRow.Cells[5].Value.ToString(); string fecha_proforma = dgvProformas.CurrentRow.Cells[2].Value.ToString(); string numero_proforma = dgvProformas.CurrentRow.Cells[1].Value.ToString().PadLeft(7, '0'); string numero_nit = "7473186019"; int id_proforma = Convert.ToInt32(dgvProformas.CurrentRow.Cells[0].Value.ToString()); proforma.Imprimir(nit_cliente, nombre_cliente, fecha_proforma, numero_proforma, numero_nit, id_proforma); caracteristicas.Imprimir(fecha_proforma, id_proforma); }
private void btnImprimir_Click(object sender, EventArgs e) { if (dgvProforma.RowCount <= 0) { MessageBox.Show("Debe existir por lo menos 1 producto en la venta"); txtCodigoProducto.Focus(); } else { if (txtNITCI.Text.Equals("") || txtNombreCliente.Text.Equals("")) { MessageBox.Show("Debe completar los datos del cliente antes de continuar"); } else { decimal importe_pagado = total; if (importe_pagado > 0) { //Insertar o actualizar datos del cliente if (txtNITCI.Text.Equals("") || txtNombreCliente.Text.Equals("")) { MessageBox.Show("Los datos del cliente deben ser completados antes de proceder con la venta"); } else { string nit_ci = txtNITCI.Text; string nombre = txtNombreCliente.Text; if (txtNITCI.Text.Equals("0")) { nuevoCliente = true; } if (nuevoCliente) { this.clienteTableAdapter.InsertarCliente(nombre, nit_ci); } else { int id = Convert.ToInt32(this.clienteTableAdapter.ObtenerID(nombre, nit_ci)); this.clienteTableAdapter.EditarCliente(nombre, nit_ci, id); } nuevoCliente = true; } //Insertar nueva venta int id_cliente = Convert.ToInt32(this.clienteTableAdapter.ObtenerID(txtNombreCliente.Text, txtNITCI.Text)); try { this.proformaTableAdapter.InsertarProforma(DateTime.Today.ToShortDateString(), total, id_cliente, id_usuario); } catch (Exception ex) { MessageBox.Show("Error encontrado con try catch: " + ex.Message); } int id_proforma = Convert.ToInt32(this.proformaTableAdapter.ObtenerID(DateTime.Today.ToShortDateString(), total, id_cliente, id_usuario)); //Insertar detalle de venta foreach (DataGridViewRow row in dgvProforma.Rows) { string codigo_producto = row.Cells[0].Value.ToString(); string nombre_producto = row.Cells[1].Value.ToString(); int cantidad = Convert.ToInt32(row.Cells[2].Value); decimal precio = Convert.ToDecimal(row.Cells[3].Value); decimal subtotal = Convert.ToDecimal(row.Cells[4].Value); int id_producto = Convert.ToInt32(this.productoTableAdapter.ObtenerID(codigo_producto, nombre_producto)); //this.productoTableAdapter.ActualizarStock(cantidad, id_producto); this.detalle_proformaTableAdapter.InsertarDetalleProforma(id_producto, precio, cantidad, subtotal, id_proforma); } //Imprimir proforma string numero_nit = "7473186019"; proforma.Imprimir(txtNITCI.Text, txtNombreCliente.Text, DateTime.Today.ToShortDateString(), id_proforma.ToString().PadLeft(7, '0'), numero_nit, id_proforma); caracteristicas.Imprimir(DateTime.Today.ToShortDateString(), id_proforma); //Limpiar datos del cliente LimpiarCamposCliente(); //Limpiar datos de productos en venta; LimpiarDetalle(); //Reiniciar el total de la venta a 0 total = 0; txtTotal.Text = total.ToString("#0.00#"); } } } }