Exemple #1
0
        private void btnAnularMetodoPago_Click(object sender, EventArgs e)
        {
            SiNo = new VentanasMensajes.frmMensajeSiNo();
            SiNo.LblMensaje.Text = "¿Está seguro que desea dar de baja el registro?";
            SiNo.ShowDialog();

            if (SiNo.DialogResult == DialogResult.OK)
            {
                eliminarRegistro();
            }
        }
Exemple #2
0
        private void btnEliminar_Click(object sender, EventArgs e)
        {
            if (dgvDatos.Rows.Count == 0)
            {
                ok = new VentanasMensajes.frmMensajeOK();
                ok.LblMensaje.Text = "No hay ítems para eliminar.";
                ok.ShowDialog();
            }

            else
            {
                if (verificarDocumentoPago() == 1)
                {
                    ok = new VentanasMensajes.frmMensajeOK();
                    ok.LblMensaje.Text = "No puede realizar ediciones de un ingreso que se ha ingresado con la comanda.";
                    ok.ShowDialog();
                }

                else
                {
                    if (consultarRegistro() == true)
                    {
                        SiNo = new VentanasMensajes.frmMensajeSiNo();
                        SiNo.LblMensaje.Text = "Está seguro que desea eliminar el ingreso. Tenga en cuenta que puede alterar el arqueo de caja.";
                        SiNo.ShowDialog();

                        if (SiNo.DialogResult == DialogResult.OK)
                        {
                            eliminarRegistro();
                        }

                        else
                        {
                            limpiar();
                        }
                    }
                }
            }
        }
Exemple #3
0
        private void btnEliminar_Click(object sender, EventArgs e)
        {
            if (iIdRegistro == 0)
            {
                ok = new VentanasMensajes.frmMensajeOK();
                ok.LblMensaje.Text = "No hay un registro seleccionado para eliminar.";
                ok.ShowDialog();
            }

            else
            {
                if (consultarRegistro() > 0)
                {
                    ok = new VentanasMensajes.frmMensajeOK();
                    ok.LblMensaje.Text = "Existen registros relacionados con la selección. No puede eliminar el registro.";
                    ok.ShowDialog();
                }

                else if (consultarRegistro() == -1)
                {
                    ok = new VentanasMensajes.frmMensajeOK();
                    ok.LblMensaje.Text = "Existe un error al consultar si el registro se utilizó en otros registros.";
                    ok.ShowDialog();
                }

                else
                {
                    SiNo = new VentanasMensajes.frmMensajeSiNo();
                    SiNo.LblMensaje.Text = "¿Está seguro que desea eliminar el registro seleccionado?";
                    SiNo.ShowDialog();

                    if (SiNo.DialogResult == DialogResult.OK)
                    {
                        eliminarRegistro();
                    }
                }
            }
        }
Exemple #4
0
        private async void btnReenviar_Click(object sender, EventArgs e)
        {
            iNumeroRegistros      = 0;
            iErrorGenerados       = 0;
            iErrorFirmados        = 0;
            iErrorEnviarSRI       = 0;
            iErrorConsultarXMLSRI = 0;
            iErrorEnviarMail      = 0;
            iEnviadosExitosamente = 0;

            Task <bool> task;
            bool        bConsulta;

            for (int i = 0; i < dgvDatos.Rows.Count; i++)
            {
                if (Convert.ToBoolean(dgvDatos.Rows[i].Cells["colMarca"].Value) == true)
                {
                    iNumeroRegistros++;
                }
            }

            if (dgvDatos.Rows.Count == 0)
            {
                ok = new VentanasMensajes.frmMensajeOK();
                ok.LblMensaje.Text = "No existen comprobantes electrónicos para procesar.";
                ok.ShowDialog();
                return;
            }

            else if (iNumeroRegistros == 0)
            {
                ok = new VentanasMensajes.frmMensajeOK();
                ok.LblMensaje.Text = "No hay registros seleccionados para procesar la información.";
                ok.ShowDialog();
                return;
            }

            else
            {
                if (conexionInternet() == false)
                {
                    ok = new VentanasMensajes.frmMensajeOK();
                    ok.LblMensaje.Text = "No hay una conexión a internet. Favor verifique la conectividad.";
                    ok.ShowDialog();
                    return;
                }

                else
                {
                    SiNo = new VentanasMensajes.frmMensajeSiNo();
                    SiNo.LblMensaje.Text = "¿Desea procesar los comprobantes electrónicos emitidos?";
                    SiNo.ShowDialog();

                    if (SiNo.DialogResult == DialogResult.OK)
                    {
                        this.Cursor = Cursors.WaitCursor;

                        buscarDirectorio();

                        //AQUI TRAER EL LOGO
                        //-----------------------------------------------------------------
                        logo = new Clases_Factura_Electronica.ClaseObtenerLogo();

                        if (logo.obtenerRutaLogo() == false)
                        {
                            ok = new VentanasMensajes.frmMensajeOK();
                            ok.LblMensaje.Text = logo.sRespuesta;
                            ok.ShowDialog();
                            return;
                        }

                        else
                        {
                            sRutaLogo = logo.sRespuesta;
                        }

                        //SE INSTANCIA EL LOGO EN MEMORIA PARA ENVIAR
                        if (sRutaLogo == "")
                        {
                            Bitmap My_Logo = Properties.Resources.SIN_LOGO;
                            var    ms      = new MemoryStream();

                            My_Logo.Save(ms, System.Drawing.Imaging.ImageFormat.Jpeg);
                            Logo_Factura = ms.ToArray();
                        }

                        else
                        {
                            if (File.Exists(sRutaLogo))
                            {
                                Logo_Factura = File.ReadAllBytes(sRutaLogo);
                            }
                            else
                            {
                                Bitmap My_Logo = Properties.Resources.SIN_LOGO;
                                var    ms      = new MemoryStream();

                                My_Logo.Save(ms, System.Drawing.Imaging.ImageFormat.Jpeg);
                                Logo_Factura = ms.ToArray();
                            }
                        }
                        //-----------------------------------------------------------------

                        //AQUI SE INICIA EL PROCESO DE SINCRONIZACION CON EL SRI
                        for (int i = 0; i < dgvDatos.Rows.Count; i++)
                        {
                            if (Convert.ToBoolean(dgvDatos.Rows[i].Cells["colMarca"].Value) == true)
                            {
                                sNumeroDocumento = "F" + dgvDatos.Rows[i].Cells["colEstablecimiento"].Value.ToString() +
                                                   dgvDatos.Rows[i].Cells["colPtoEmision"].Value.ToString() +
                                                   dgvDatos.Rows[i].Cells["colNumeroComprobante"].Value.ToString().PadLeft(9, '0');



                                //USANDO TASK ASYNC AWAIT

                                // PASO 1.- INVOCAR A FUNCION PARA PRIMERO GENERAR EL XML
                                task = new Task <bool>(() => generarXML(Convert.ToInt64(dgvDatos.Rows[i].Cells["colIdFactura"].Value)));
                                task.Start();
                                dgvDatos.Rows[i].Cells["colEstado"].Value = "Generando XML...";
                                bConsulta = await task;

                                if (bConsulta == true)
                                {
                                    dgvDatos.Rows[i].Cells["colEstado"].Value           = "XML Generado.";
                                    dgvDatos.Rows[i].Cells["colEstado"].Style.BackColor = Color.Lime;
                                }

                                else
                                {
                                    dgvDatos.Rows[i].Cells["colEstado"].Value           = "Error generar XML.";
                                    dgvDatos.Rows[i].Cells["colEstado"].Style.BackColor = Color.Red;
                                    goto retorna;
                                }

                                // PASO 2.- INVOCAR A FUNCION PARA FIRMAR EL XML
                                task = new Task <bool>(() => firmarArchivoXML(sNumeroDocumento));
                                task.Start();
                                dgvDatos.Rows[i].Cells["colEstado"].Value = "Firmando XML...";
                                bConsulta = await task;

                                if (bConsulta == true)
                                {
                                    dgvDatos.Rows[i].Cells["colEstado"].Value           = "XML Firmado.";
                                    dgvDatos.Rows[i].Cells["colEstado"].Style.BackColor = Color.Lime;
                                }

                                else
                                {
                                    dgvDatos.Rows[i].Cells["colEstado"].Value           = "Error firmar XML.";
                                    dgvDatos.Rows[i].Cells["colEstado"].Style.BackColor = Color.Red;
                                    goto retorna;
                                }

                                Thread.Sleep(3000);

                                //PASO 5.- ENVIAR AL CORREO ELECTRONICO DEL CLIENTE
                                task = new Task <bool>(() => enviarMailReenvio(i, Convert.ToInt64(dgvDatos.Rows[i].Cells["colIdFactura"].Value), sNumeroDocumento));
                                task.Start();
                                dgvDatos.Rows[i].Cells["colEstado"].Value = "Enviando al correo...";
                                bConsulta = await task;

                                if (bConsulta == true)
                                {
                                    dgvDatos.Rows[i].Cells["colEstado"].Value           = "Correo enviado.";
                                    dgvDatos.Rows[i].Cells["colEstado"].Style.BackColor = Color.Yellow;
                                }

                                else
                                {
                                    dgvDatos.Rows[i].Cells["colEstado"].Value           = "Error al enviar al correo.";
                                    dgvDatos.Rows[i].Cells["colEstado"].Style.BackColor = Color.Red;
                                    goto retorna;
                                }

                                dgvDatos.Rows[i].Cells["colMarca"].Value = false;
                            }

                            retorna : { }
                        }

                        this.Cursor            = Cursors.Default;
                        chkSeleccionar.Checked = false;
                        chkSeleccionar.Text    = "Seleccionar todos los registros";
                    }
                }
            }
        }