예제 #1
0
        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);
        }
예제 #2
0
        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#");
                    }
                }
            }
        }