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(); } } }