コード例 #1
0
        private void dgvFactura_CellContentClick(object sender, DataGridViewCellEventArgs e)
        {
            var senderGrid = (DataGridView)sender;

            if (senderGrid.Columns[e.ColumnIndex] is DataGridViewButtonColumn &&
                e.RowIndex >= 0)
            {
                if (dgvFactura[e.ColumnIndex, e.RowIndex].Value == "PDF")
                {
                    System.Diagnostics.Process.Start(ConfigurationManager.AppSettings.Get("rutafactura") + dgvFactura[0, e.RowIndex].Value.ToString());
                }
                if (dgvFactura[e.ColumnIndex, e.RowIndex].Value == "Facturar")
                {
                    if (MessageBox.Show("Facturar " + dgvFactura[0, e.RowIndex].Value, "Confirmación", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
                    {
                        factura factura = new factura();
                        string  msg     = factura.Nueva(dgvFactura[0, e.RowIndex].Value.ToString());
                        MessageBox.Show(msg, "Generar Factura", MessageBoxButtons.OK, MessageBoxIcon.Information);

                        if (!msg.Contains("Error"))
                        {
                            System.Diagnostics.Process.Start(ConfigurationManager.AppSettings.Get("rutafactura") + dgvFactura[0, e.RowIndex].Value.ToString());
                        }
                        getFacturas(dateDesde.Value, dateHasta.Value, txtRFC.Text.Trim());
                    }
                }
                else if (dgvFactura[e.ColumnIndex, e.RowIndex].Value == "Cancelar")
                {
                    if (MessageBox.Show("¿Esta seguro de cancelar La factura  " + dgvFactura[0, e.RowIndex].Value + " con folio fiscal " + dgvFactura[9, e.RowIndex].Value + "?", "Cancelar Factura", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
                    {
                        cancelar(dgvFactura[11, e.RowIndex].Value.ToString());
                        MessageBox.Show("La factura  " + dgvFactura[0, e.RowIndex].Value + " con folio fiscal " + dgvFactura[11, e.RowIndex].Value + " fue cancelada con éxito", "Exito", MessageBoxButtons.OK, MessageBoxIcon.Information);
                        getFacturas(dateDesde.Value, dateHasta.Value, txtRFC.Text.Trim());
                    }
                }
                else if (dgvFactura[e.ColumnIndex, e.RowIndex].Value == "Enviar")
                {
                    string folioConsultar = dgvFactura[0, e.RowIndex].Value.ToString();
                    VENTA  v = metodos_VENTA.seleccionarVENTA(folioConsultar);

                    List <CLIENTES> clientes = metodos_CLIENTES.seleccionarCLIENTES(dgvFactura[3, e.RowIndex].Value.ToString());
                    if (!Directory.Exists(ConfigurationManager.AppSettings["rutaXML"] + "\\temporal\\"))
                    {
                        Directory.CreateDirectory(ConfigurationManager.AppSettings["rutaXML"] + "\\temporal\\");
                    }
                    string ruta_xml = ConfigurationManager.AppSettings["rutaXML"] + "temporal\\" + clientes[0].rfc + "_" + v.uuid + ".xml";
                    File.WriteAllText(ruta_xml, v.xml);
                    frmMail mail = new frmMail(ruta_xml, dgvFactura[3, e.RowIndex].Value.ToString() + "_" + dgvFactura[1, e.RowIndex].Value.ToString() + "_" + dgvFactura[0, e.RowIndex].Value.ToString(), clientes[0].email);
                    mail.ShowDialog();
                }
            }
        }