コード例 #1
0
 private void dtgvDetalleFactura_CellContentClick(object sender, DataGridViewCellEventArgs e)
 {
     try
     {
         if (Utility.AccesoInternet())
         {
             if (e.ColumnIndex == 8)
             {
                 string idFactura = dtgvDetalleFactura.Rows[e.RowIndex].Cells[1].Value.ToString();
                 string tipoDoc   = dtgvDetalleFactura.Rows[e.RowIndex].Cells[0].Value.ToString();
                 if (idFactura != string.Empty && tipoDoc != string.Empty)
                 {
                     tbDocumento doc = new tbDocumento();
                     doc.id            = int.Parse(idFactura);
                     doc.tipoDocumento = int.Parse(tipoDoc);
                     facturaIns.consultarFacturaElectronicaPorIdFact(doc);
                     cargarDatos();
                 }
             }
         }
         else
         {
             MessageBox.Show("No hay acceso a internet, no se validarán los documentos", "Sin Internet", MessageBoxButtons.OK, MessageBoxIcon.Error);
         }
     }
     catch (Exception)
     {
         MessageBox.Show("Ocurrio un error, intente de nuevo", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
     }
 }
コード例 #2
0
        private async void validarTodos()
        {
            if (Utility.AccesoInternet())
            {
                progressBar1.Visible = true;
                try
                {
                    var progress = new System.Progress <ProgressReport>();
                    progress.ProgressChanged += (o, report) => {
                        progressBar1.Value = report.PorcentComplete;
                        progressBar1.Update();
                    };


                    await ProcessData(dtgvDetalleFactura, progress);
                }
                catch (Exception)
                {
                }

                cargarDatos();
                progressBar1.Visible = false;
            }
            else
            {
                MessageBox.Show("No hay acceso a internet, no se validarán los documentos", "Sin Internet", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
            progressBar1.Visible = false;
        }
コード例 #3
0
        private void button1_Click(object sender, EventArgs e)
        {
            if (Utility.AccesoInternet())
            {
                DialogResult result = MessageBox.Show("Se enviará por correo electrónico la factura seleccionada, Desea continuar?", "Envio de correo electrónico", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
                if (result == DialogResult.Yes)
                {
                    if (validarCampos())
                    {
                        List <string> correos = new List <string>();
                        correos.Add(txtCorreo.Text.Trim());

                        if (txtCorreo2.Text != String.Empty)
                        {
                            correos.Add(txtCorreo2.Text.Trim());
                        }
                        enviarCorreo(_doc, correos);
                    }
                }
            }
            else
            {
                MessageBox.Show("No hay acceso a internet", "Sin Internet", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
コード例 #4
0
        private void reportarCompraSimplificadaHacienda(tbCompras doc)
        {
            try
            {
                if (doc != null)
                {
                    if (doc.reporteElectronico == true)
                    {
                        compraGlobal = doc;
                        if (Utility.AccesoInternet())
                        {
                            BackgroundWorker tarea = new BackgroundWorker();
                            tarea.DoWork += reportarCompraElectronica;
                            tarea.RunWorkerAsync();
                        }
                        else
                        {
                            MessageBox.Show("No hay acceso a internet", "Sin Internet", MessageBoxButtons.OK, MessageBoxIcon.Error);
                        }
                    }

                    limpiarForm();
                }
            }
            catch (Exception)
            {
                throw;
            }
        }
コード例 #5
0
        private void consultar()
        {
            if (Utility.AccesoInternet())
            {
                try
                {
                    if (txtClave.Text == string.Empty)
                    {
                        MessageBox.Show("Debe indicar una valor a buscar");
                    }
                    else
                    {
                        tbReporteHacienda mensaje;
                        if ((int)cboTipoBusqueda.SelectedValue == (int)Enums.ConsultarHacienda.Clave)
                        {
                            mensaje = facturacion.consultarMensajePorClave(txtClave.Text.Trim());
                        }
                        else if ((int)cboTipoBusqueda.SelectedValue == (int)Enums.ConsultarHacienda.Consecutivo)

                        {
                            mensaje = facturacion.consultarMensajePorConsecutivo(txtClave.Text.Trim());
                        }
                        else

                        {
                            mensaje = facturacion.consultarMensajePorId(int.Parse(txtClave.Text.Trim()));
                        }

                        if (mensaje is null)
                        {
                            txtXMLSinFirma.Text = "No se encontro el mensaje con los datos suministrados, favor verifique los datos.";
                        }
                        else
                        {
                            txtXMLSinFirma.Text = facturacion.consultarMensaje(mensaje);
                        }
                    }
                }
                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);
            }
        }
コード例 #6
0
        private void enviarCorreoCorreoDocumentoElectronico(int id)
        {
            if (Utility.AccesoInternet())
            {
                tbDocumento doc = new tbDocumento();
                doc.id            = id;
                doc.tipoDocumento = (int)Enums.TipoDocumento.FacturaElectronica;
                doc = facturaIns.getEntity(doc);
                if (doc != null)
                {
                    DialogResult result = MessageBox.Show("Se enviará por correo electrónico la factura seleccionada, Desea continuar?", "Envio de correo electrónico", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
                    if (result == DialogResult.Yes)
                    {
                        List <string> correos = new List <string>();


                        if (doc.correo1 != null || doc.correo2 != null)
                        {
                            if (doc.correo1 != null)
                            {
                                correos.Add(doc.correo1);
                            }
                            if (doc.correo2 != null)
                            {
                                correos.Add(doc.correo2);
                            }
                        }
                        else
                        {
                            if (doc.tbClientes.tbPersona.correoElectronico != null)
                            {
                                correos.Add(doc.tbClientes.tbPersona.correoElectronico.Trim());
                            }
                        }

                        if (correos.Count != 0)
                        {
                            enviarCorreo(doc, correos);
                        }
                        else
                        {
                            MessageBox.Show("No hay correo electronicos registrados con este documento", "Correo Electrónico", MessageBoxButtons.OK, MessageBoxIcon.Information);
                        }
                    }
                }
            }
            else
            {
                MessageBox.Show("No hay acceso a internet", "Sin Internet", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
コード例 #7
0
        private void frmFacturacion1_Load(object sender, EventArgs e)
        {
            chkTiqueteElectronico.Enabled = false;
            chkTiqueteElectronico.Checked = false;
            btnReImprimir.Enabled         = (bool)Global.Usuario.tbEmpresa.imprimeDoc;

            formatoGrid();
            limpiarFactura();
            txtCodigo.Focus();
            if (!Utility.AccesoInternet())
            {
                MessageBox.Show("No hay acceso a internet", "Sin Internet", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
            //listaProductos=BProducto.getProductos((int)Enums.EstadoBusqueda.Activo);
        }
コード例 #8
0
        private void enviarCorreo(tbDocumento proforma)
        {
            if (Utility.AccesoInternet())
            {
                DialogResult result = MessageBox.Show("Se enviará por correo electrónico la factura seleccionada, Desea continuar?", "Envio de correo electrónico", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
                if (result == DialogResult.Yes)
                {
                    List <string> correos = new List <string>();
                    if (proforma.correo1 != null)
                    {
                        correos.Add(proforma.correo1.Trim());
                    }
                    if (proforma.correo2 != null)
                    {
                        correos.Add(proforma.correo2.Trim());
                    }


                    bool enviado = false;
                    try
                    {
                        CorreoElectronico correo = new CorreoElectronico(proforma, correos, true);
                        enviado = correo.enviarCorreo();
                    }
                    catch (CorreoSinDestinatarioException ex)
                    {
                        MessageBox.Show(ex.Message, "Correo Electrónico", MessageBoxButtons.OK, MessageBoxIcon.Error);
                        return;
                    }


                    if (enviado)
                    {
                        MessageBox.Show("Se envió correctamente el correo electrónico", "Correo Electrónico", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    }
                    else
                    {
                        MessageBox.Show("Se produjo un error al enviar el Correo Electrónico", "Correo Electrónico", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    }
                }
            }
            else
            {
                MessageBox.Show("No hay acceso a internet", "Sin Internet", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
コード例 #9
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);
            }
        }
コード例 #10
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);
            }
        }
コード例 #11
0
        private void respuesta(tbDocumento doc)
        {
            try
            {
                if (doc != null)
                {
                    existeRespuesta = true;
                    if (doc.reporteElectronic == true)
                    {
                        if (Utility.AccesoInternet())
                        {
                            BackgroundWorker tarea = new BackgroundWorker();
                            documentoGlo  = doc;
                            tarea.DoWork += reportarFacturacionElectronica;
                            tarea.RunWorkerAsync();

                            if (doc.id != 0)
                            {
                                MessageBox.Show("El documento ha sido emitido correctamente, el reporte de hacienda se generará en segundo plano", "Documento creado", MessageBoxButtons.OK, MessageBoxIcon.Information);
                            }
                        }
                        else
                        {
                            MessageBox.Show("No hay acceso a internet", "Sin Internet", MessageBoxButtons.OK, MessageBoxIcon.Error);
                        }
                    }
                    else
                    {
                        if (doc.id != 0)
                        {
                            MessageBox.Show("El documento ha sido emitido correctamente", "Documento creado", MessageBoxButtons.OK, MessageBoxIcon.Information);

                            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();
                            }
                        }
                    }
                    limpiarFactura();
                }
                else
                {
                    MessageBox.Show("El documento no se ha guardado, intente nuevamente, de lo contrario contacte con el administrador.", "Error al crear Documento", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
            }

            catch (Exception ex)
            {
                MessageBox.Show("Error en el sistema, contacte al administrador", "Error general", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
コード例 #12
0
        private void dtgvDetalleFactura_CellContentClick(object sender, DataGridViewCellEventArgs e)
        {
            try
            {
                int    id            = int.Parse(dtgvDetalleFactura.Rows[e.RowIndex].Cells[0].Value.ToString());
                string tipoDoc       = dtgvDetalleFactura.Rows[e.RowIndex].Cells[1].Value.ToString();
                int    tipoDocumento = int.Parse(dtgvDetalleFactura.Rows[e.RowIndex].Cells[11].Value.ToString());



                if (e.ColumnIndex == 8)
                {
                    if (tipoDoc == Enum.GetName(typeof(Enums.TipoDocumento), Enums.TipoDocumento.Compras).ToUpper())
                    {
                        frmDetalleMensaje msj = new frmDetalleMensaje();

                        foreach (var item in mensajesLista)
                        {
                            if (item.id == id)
                            {
                                msj.Reporte = item;
                                break;
                            }
                        }
                        msj.ShowDialog();
                    }
                    else if (tipoDoc == Enum.GetName(typeof(Enums.TipoDocumento), Enums.TipoDocumento.FacturaElectronica).ToUpper() ||
                             tipoDoc == Enum.GetName(typeof(Enums.TipoDocumento), Enums.TipoDocumento.NotaCreditoElectronica).ToUpper() ||
                             tipoDoc == Enum.GetName(typeof(Enums.TipoDocumento), Enums.TipoDocumento.NotaDebitoElectronica).ToUpper() ||
                             tipoDoc == Enum.GetName(typeof(Enums.TipoDocumento), Enums.TipoDocumento.TiqueteElectronico).ToUpper())
                    {
                        tbDocumento doc = facturasLista.Where(x => x.id == id && x.tipoDocumento == tipoDocumento).SingleOrDefault();
                        if (doc != null)
                        {
                            doc = facturaIns.getEntity(doc);
                            frmDocumentosDetalle form = new frmDocumentosDetalle(doc);
                            form.ShowDialog();
                        }
                    }
                }
                else if (e.ColumnIndex == 9)
                {
                    if (tipoDoc == Enum.GetName(typeof(Enums.TipoDocumento), Enums.TipoDocumento.Compras).ToUpper())
                    {
                        reportarMensajeElectronica(id);
                    }
                    else if (tipoDoc == Enum.GetName(typeof(Enums.TipoDocumento), Enums.TipoDocumento.FacturaElectronica).ToUpper() ||
                             tipoDoc == Enum.GetName(typeof(Enums.TipoDocumento), Enums.TipoDocumento.NotaCreditoElectronica).ToUpper() ||
                             tipoDoc == Enum.GetName(typeof(Enums.TipoDocumento), Enums.TipoDocumento.NotaDebitoElectronica).ToUpper() ||
                             tipoDoc == Enum.GetName(typeof(Enums.TipoDocumento), Enums.TipoDocumento.TiqueteElectronico).ToUpper())
                    {
                        enviarCorreoCorreoDocumentoElectronico(id);
                    }
                }
                else if (e.ColumnIndex == 10)
                {
                    if (Utility.AccesoInternet())
                    {
                        if (tipoDoc == Enum.GetName(typeof(Enums.TipoDocumento), Enums.TipoDocumento.Compras).ToUpper())
                        {
                            facturaIns.consultarMensajePorIdFact(id);
                            cargarDatos();
                        }
                        else if (tipoDoc == Enum.GetName(typeof(Enums.TipoDocumento), Enums.TipoDocumento.FacturaElectronica).ToUpper() ||
                                 tipoDoc == Enum.GetName(typeof(Enums.TipoDocumento), Enums.TipoDocumento.NotaCreditoElectronica).ToUpper() ||
                                 tipoDoc == Enum.GetName(typeof(Enums.TipoDocumento), Enums.TipoDocumento.NotaDebitoElectronica).ToUpper() ||
                                 tipoDoc == Enum.GetName(typeof(Enums.TipoDocumento), Enums.TipoDocumento.TiqueteElectronico).ToUpper())
                        {
                            tbDocumento doc = facturasLista.Where(x => x.id == id && x.tipoDocumento == tipoDocumento).SingleOrDefault();
                            facturaIns.consultarFacturaElectronicaPorIdFact(doc);
                        }
                        else if (tipoDoc == Enum.GetName(typeof(Enums.TipoDocumento), Enums.TipoDocumento.ComprasSimplificada).ToUpper())
                        {
                            tbCompras doc = comprasLista.Where(x => x.id == id && x.tipoDoc == (int)Enums.TipoDocumento.ComprasSimplificada).SingleOrDefault();
                            facturaIns.consultarCompraSimplificada(doc);
                        }
                    }
                    else
                    {
                        MessageBox.Show("No hay acceso a internet, no se validarán los documentos", "Sin Internet", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    }
                }
                cargarDatos();
            }
            catch (Exception ex)
            {
                clsEvento evento = new clsEvento(ex.Message, "1");
                MessageBox.Show("Ocurrio un error, intente de nuevo", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }