示例#1
0
        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);
            }
        }
示例#2
0
        private void consultar()
        {
            try
            {
                if (Utility.AccesoInternet())
                {
                    try
                    {
                        if (txtClave.Text == string.Empty)
                        {
                            MessageBox.Show("Debe indicar una valor a buscar");
                        }
                        else
                        {
                            if ((int)cboTipoBusqueda.SelectedValue == (int)Enums.ConsultarHacienda.Clave)
                            {
                                txtXMLSinFirma.Text = facturacion.consultarFacturaElectronicaPorClave(txtClave.Text.Trim());
                            }
                            else if ((int)cboTipoBusqueda.SelectedValue == (int)Enums.ConsultarHacienda.Consecutivo)

                            {
                                txtXMLSinFirma.Text = facturacion.consultarFacturaElectronicaPorConsecutivo(txtClave.Text.Trim());
                            }
                            else

                            {
                                try
                                {
                                    if (cboTipoDoc.SelectedValue != null || (int)cboTipoDoc.SelectedValue != 0)
                                    {
                                        txtXMLSinFirma.Text = facturacion.consultarFacturaElectronicaPorIdFact(int.Parse(txtClave.Text.Trim()), (int)cboTipoDoc.SelectedValue);
                                    }
                                    else
                                    {
                                        MessageBox.Show("Debe indicar un tipo de documento para poder consultar por ID de Documento");
                                    }
                                }
                                catch (Exception)
                                {
                                    throw;
                                }
                            }
                        }
                    }
                    catch (TokenException ex)
                    {
                        MessageBox.Show(ex.Message);
                    }
                    catch (Exception ex)
                    {
                        MessageBox.Show("Se produjo un error al consultar a Hacienda.");
                    }
                }
                else
                {
                    MessageBox.Show("No hay acceso a internet", "Sin Internet", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
            }
            catch (Exception)
            {
                MessageBox.Show("Error al consultar los datos a haceinda, verifique y vuelva a intentarlo", "Error en la consulta.", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
示例#3
0
        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);
            }
        }