private void reportarFacturacionElectronica() { if (Utility.AccesoInternet()) { try { _doc = facturaIns.FacturarElectronicamente(_doc); System.Threading.Thread.Sleep(3000); facturaIns.consultarFacturaElectronicaPorClave(_doc.clave); if (chkEnviar.Checked) { List <string> correos = new List <string>(); if (_doc.correo1 != null) { correos.Add(_doc.correo1); } if (_doc.correo2 != null) { correos.Add(_doc.correo2); } enviarCorreo(_doc, correos); } } catch (Exception ex) { MessageBox.Show("No se pudo emitir el documento NOTA CREDITO", "Error al procesar", MessageBoxButtons.OK, MessageBoxIcon.Error); } } else { MessageBox.Show("No hay acceso a internet, No se enviará el documento a Hacienda, validar en la pantalla de validación, para su envio correspodiente.", "Sin Internet", MessageBoxButtons.OK, MessageBoxIcon.Error); } }
public void reportarFacturacionElectronica(object o, DoWorkEventArgs e) { tbDocumento doc = documentoGlo; try { //envio la factura a hacienda doc = facturaIns.FacturarElectronicamente(doc); System.Threading.Thread.Sleep(3000); //consulto a hacienda el estado de la factura try { string mensaje = facturaIns.consultarFacturaElectronicaPorClave(doc.clave); } catch (Exception) { MessageBox.Show("Error al consultar el estado del documento en Hacienda, valida el estado del documento", "Error al consultar el estado del documento", MessageBoxButtons.OK, MessageBoxIcon.Error); } bool enviado = false; //se solicita respuesta, y se confecciona el correo a enviar if ((bool)doc.notificarCorreo) { List <string> correos = new List <string>(); if (doc.correo1 != null) { correos.Add(doc.correo1.Trim()); } if (doc.correo2 != null) { correos.Add(doc.correo2.Trim()); } CorreoElectronico correo = new CorreoElectronico(doc, correos, true); enviado = correo.enviarCorreo(); } } catch (FacturacionElectronicaException ex) { MessageBox.Show("Error al realizar la facturación electronica", "Factura Electrónica", MessageBoxButtons.OK, MessageBoxIcon.Error); } catch (EnvioCorreoException ex) { MessageBox.Show("Error al enviar la facturación por correo electrónico", "Correo electrónico", MessageBoxButtons.OK, MessageBoxIcon.Error); } catch (TokenException ex) { MessageBox.Show("Error al obtener el Token en Hacienda", "Facturación electrónica", MessageBoxButtons.OK, MessageBoxIcon.Error); } catch (ConsultaHaciendaExcpetion ex) { MessageBox.Show("Error al consultar hacienda la factura electrónica", "Facturación electrónica", MessageBoxButtons.OK, MessageBoxIcon.Error); } catch (generarXMLException ex) { MessageBox.Show("Error al generar el XML de la factura", "Facturación electrónica", MessageBoxButtons.OK, MessageBoxIcon.Error); } catch (Exception EX) { MessageBox.Show("Error general de facturación electrónica", "Facturación electrónica", MessageBoxButtons.OK, MessageBoxIcon.Error); } }