コード例 #1
0
        private void btnGuardar_Click(object sender, EventArgs e)
        {
            string cliente = txtCliente.Text;

            if (cliente.Equals(""))
            {
                MessageBox.Show("Falta datos del Cliente", "Mensaje de advertencia");
            }
            else
            {
                for (int count = 0; count < dataGridViewFactura.Rows.Count; count++)
                {
                    string codigo = (string)dataGridViewFactura.Rows[count].Cells["columnProducto"].Value;
                    contador = contador + 1;
                }
                if (contador >= 1)
                {
                    Console.Write("contador es " + contador);
                    if (consumidorF == true)
                    {
                        txtCliente.Text   = "";
                        txtRUC.Text       = "";
                        txtDireccion.Text = "";
                        txtTelefono.Text  = "";
                        dataGridViewProducto.ClearSelection();
                        dataGridViewFactura.Rows.Clear();
                        txtSubTotal.Text = "";
                        txtIva.Text      = "";
                        txtTotal.Text    = "";


                        rbFactura.Enabled            = false;
                        rbConsumidorFinal.Enabled    = false;
                        rbCodigo.Enabled             = false;
                        rbProducto.Enabled           = false;
                        txtBusqueda.Enabled          = false;
                        dataGridViewProducto.Enabled = false;
                        btnGuardar.Enabled           = false;
                        btnAgregarProducto.Enabled   = false;
                        txtCantidad.Enabled          = false;
                        txtEmpleado.Text             = Login.ROL;
                        consumidorF = false;
                    }
                    else
                    {
                        contador = 0;
                        // es una factura
                        ced        = txtRUC.Text;
                        numFactura = num;
                        Console.Write("num fact " + numFactura);
                        cedEmpleado = MetodosBD.retornaCedulaEmpleado(txtEmpleado.Text);
                        subT        = Convert.ToDouble(txtSubTotal.Text);
                        I           = Convert.ToDouble(txtIva.Text);
                        T           = Convert.ToDouble(txtTotal.Text);
                        string cod    = "";
                        string prod   = "";
                        int    cant   = 0;
                        double precio = 0;
                        double total  = 0;


                        MetodosBD.InsertarFacturaC(numFactura, ced, cedEmpleado, fechaActual, subT, I, T, false);
                        for (int count = 0; count < dataGridViewFactura.Rows.Count; count++)
                        {
                            cod    = (string)dataGridViewFactura.Rows[count].Cells["columnProducto"].Value;
                            prod   = MetodosBD.buscarCodigoProducto(cod);
                            cant   = (int)dataGridViewFactura.Rows[count].Cells["columnCantidad"].Value;
                            precio = (double)dataGridViewFactura.Rows[count].Cells["columnPrecioUnit"].Value;
                            total  = (double)dataGridViewFactura.Rows[count].Cells["columnTotal"].Value;


                            MetodosBD.InsertarDetalleFactura(numFactura, prod, cant, precio, total);
                        }

                        string n = lblNumFact.Text; // aqui obtengo el numero de factura



                        FormFacturaC           form = new FormFacturaC();
                        ReportDocument         oRep = new ReportDocument();
                        ParameterField         pf   = new ParameterField();
                        ParameterFields        pfs  = new ParameterFields();
                        ParameterDiscreteValue pdv  = new ParameterDiscreteValue();
                        pf.Name   = "@numFact";
                        pdv.Value = n;
                        pf.CurrentValues.Add(pdv);
                        pfs.Add(pf);
                        form.crystalReportViewer1.ParameterFieldInfo = pfs;
                        oRep.Load(@"C:\Users\Usuario\Documents\GitHub\ProyectoProgramacion5\ProyectoProgV\ProyectoProgV\Presentacion\reporteFacturaCliente2.rpt");
                        oRep.ExportToDisk(ExportFormatType.PortableDocFormat, @"C:\Users\Usuario\Documents\GitHub\ProyectoProgramacion5\Facturas\Factura Nro." + n + ".pdf");



                        form.crystalReportViewer1.ReportSource = oRep;

                        form.Show();



                        txtCliente.Text   = "";
                        txtRUC.Text       = "";
                        txtDireccion.Text = "";
                        txtTelefono.Text  = "";
                        lblNumFact.Text   = "";
                        dataGridViewProducto.ClearSelection();
                        dataGridViewFactura.Rows.Clear();
                        txtSubTotal.Text = "";
                        txtIva.Text      = "";
                        txtTotal.Text    = "";


                        rbFactura.Enabled            = false;
                        rbConsumidorFinal.Enabled    = false;
                        rbCodigo.Enabled             = false;
                        rbProducto.Enabled           = false;
                        txtBusqueda.Enabled          = false;
                        dataGridViewProducto.Enabled = false;
                        btnGuardar.Enabled           = false;
                        btnAgregarProducto.Enabled   = false;
                        txtCantidad.Enabled          = false;
                        txtEmpleado.Text             = Login.ROL;
                        consumidorF = false;


                        urlEnvio = "C:\\Users\\Usuario\\Documents\\GitHub\\ProyectoProgramacion5\\Facturas\\Factura Nro." + n + ".pdf";
                        //creamos nuestro objeto de la clase que hicimos
                        email             = MetodosBD.buscarEmailCliente(txtRUC.Text);
                        btnEnviar.Enabled = true;
                        EnviarMail oMail = new EnviarMail();


                        bool resultado = oMail.enviarCorreo("Gracias por comprar Att. Code Enterprise ", "Facturacion", email, urlEnvio);
                        if (resultado)
                        {
                            MessageBox.Show("Mensaje enviado");
                        }
                        else
                        {
                            MessageBox.Show("Mensaje no enviado");
                        }
                    }
                }
                else
                {
                    MessageBox.Show("Falta datos de Productos", "Mensaje de advertencia");
                }
            }
        }