Exemplo n.º 1
0
        private void EnviaLoteEnCurso()
        {
            string response = BatchDispatcher.SendSiiLote(_LoteBajaFactRecibidas);

            string responsePath = Settings.Current.InboxPath + _LoteBajaFactRecibidas.GetReceivedFileName();

            File.WriteAllText(responsePath, response);

            Envelope envelopeRespuesta = new Envelope(responsePath);

            var respuesta = envelopeRespuesta.Body.GetRespuestaLRF();

            if (respuesta == null && envelopeRespuesta.Body.RespuestaError != null)
            {
                MessageBox.Show(envelopeRespuesta.Body.RespuestaError.FaultDescription, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return;
            }

            foreach (DataGridViewRow row in grdInvoices.Rows) // Recorro las facturas enviadas
            {
                string numFra = row.Cells[0].Value.ToString();
                // Busco en las líneas de la respuesta el número de factura
                var linqQryFra = from respuestaFra in respuesta.RespuestaLinea
                                 where respuestaFra.IDFactura.NumSerieFacturaEmisor == numFra
                                 select respuestaFra;
                // Si el estado del registro es correcto lo marco como factura eliminada
                foreach (RespuestaLinea respuestaFra in linqQryFra)
                {
                    if (respuestaFra.EstadoRegistro == "Correcto")
                    {
                        row.Cells[6].Value = MSeniorSII.Properties.Resources.Tag_Delete;
                    }
                    else
                    {
                        row.Cells[6].Value = MSeniorSII.Properties.Resources.Tag_Ok;
                    }
                }
            }

            string _msg = "";

            if (respuesta.EstadoEnvio == "Incorrecto")
            {
                _msg = "Envío Rechazado. Para saber el motivo revise el fichero: " + responsePath;
            }
            else
            {
                _msg = ($"Estado del envío realizado a la AEAT: {respuesta.EstadoEnvio}.\nCódigo CVS: {respuesta.CSV}");
            }
            MessageBox.Show(_msg, "Información", MessageBoxButtons.OK, MessageBoxIcon.Information);
        }
Exemplo n.º 2
0
        private void EnviaLoteEnCurso()
        {
            string response = BatchDispatcher.SendSiiLote(_LoteDeFacturasEmitidas);

            string responsePath = Settings.Current.InboxPath + _LoteDeFacturasEmitidas.GetReceivedFileName();

            File.WriteAllText(responsePath, response);

            Envelope envelopeRespuesta = new Envelope(responsePath);

            var respuesta = envelopeRespuesta.Body.GetRespuestaLRF();

            if (respuesta == null && envelopeRespuesta.Body.RespuestaError != null)
            {
                MessageBox.Show(envelopeRespuesta.Body.RespuestaError.FaultDescription, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return;
            }

            foreach (DataGridViewRow row in grdInvoices.Rows) // Recorro las facturas enviadas
            {
                string numFra = row.Cells[0].Value.ToString();
                // Busco en las líneas de la respuesta el número de factura
                var linqQryFra = from respuestaFra in respuesta.RespuestaLinea
                                 where respuestaFra.IDFactura.NumSerieFacturaEmisor == numFra
                                 select respuestaFra;
                // Si el estado del registro es correcto lo marco como ok
                foreach (RespuestaLinea respuestaFra in linqQryFra)
                {
                    if (respuestaFra.EstadoRegistro == "Correcto")
                    {
                        row.Cells[6].Value = MSeniorSII.Properties.Resources.circle_green;
                    }
                    else
                    {
                        row.Cells[6].Value = MSeniorSII.Properties.Resources.circle_red;
                        row.Cells[7].Value = respuestaFra.DescripcionErrorRegistro;
                    }
                }
            }
        }