private void EnviaLoteEnCurso() { // Realizamos el envío del lote a la AEAT Wsd.SendPagosFacturasRecibidas(_LoteDePagosRecibidas); // Muestro el xml de respuesta recibido de la AEAT en el web browser FormXmlViewer frmXmlViewer = new FormXmlViewer { Path = Settings.Current.InboxPath + _LoteDePagosRecibidas.GetReceivedFileName() }; //frmXmlViewer.ShowDialog(); // Obtengo la respuesta de facturas recibidas del archivo de // respuesta de la AEAT. RespuestaLRF respuesta = new Envelope(frmXmlViewer.Path).Body.RespuestaLRPagosRecibidas; if (respuesta == null) { SoapFault msgError = new Envelope(frmXmlViewer.Path).Body.RespuestaError; if (msgError != null) { MessageBox.Show(msgError.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[5].Value = MSeniorSII.Properties.Resources.circle_green; } else { row.Cells[5].Value = MSeniorSII.Properties.Resources.circle_red; row.Cells[6].Value = respuestaFra.DescripcionErrorRegistro; } } } if (respuesta.EstadoEnvio == "Correcto") { string _msg = ($"Estado del envío realizado a la AEAT: {respuesta.EstadoEnvio}.\nCódigo CSV: {respuesta.CSV}"); MessageBox.Show(_msg, "Información", MessageBoxButtons.OK, MessageBoxIcon.Information); } }
private void EnviaLoteEnCurso() { // Realizamos el envío del lote a la AEAT Wsd.SendPagosFacturasRecibidas(_LoteDePagosRecibidas); // Muestro el xml de respuesta recibido de la AEAT en el web browser FormXmlViewer frmXmlViewer = new FormXmlViewer { Path = Settings.Current.InboxPath + _LoteDePagosRecibidas.GetReceivedFileName() }; //frmXmlViewer.ShowDialog(); // Obtengo la respuesta de facturas recibidas del archivo de // respuesta de la AEAT. RespuestaLRF respuesta = new Envelope(frmXmlViewer.Path).Body.RespuestaLRPagosRecibidas; if (respuesta == null) { DialogResult resultMsg; string _msgError = "Se ha recibido una respuesta inesperada. Pulse 'Aceptar', si quiere revisarla"; resultMsg = MessageBox.Show(_msgError, "Error", MessageBoxButtons.OKCancel, MessageBoxIcon.Error); if (resultMsg == DialogResult.OK) { frmXmlViewer.ShowDialog(); } 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[5].Value = MSeniorSII.Properties.Resources.circle_green; } else { row.Cells[5].Value = MSeniorSII.Properties.Resources.circle_red; } } } MessageBox.Show($"Estado del envío realizado a la AEAT: {respuesta.EstadoEnvio}.\nCódigo CVS: {respuesta.CSV}"); }
// Envía una lote de cobros de facturas recibidas aL SII de la AEAT. public void EnviarLotePagosFacturasRecibidas() { // Creamos el lote de de pago de facturas recibidas en regimen especial // de caja al SII de la AEAT. APInvoicesPaymentsBatch LotePagosFacturasRecibidas = CrearLotePagosFacturasRecibidas(); // Envía el lote de pagos de factura recibidas a la AEAT. Wsd.SendPagosFacturasRecibidas(LotePagosFacturasRecibidas); //Muestra el archivo xml recibido de la AEAT con la respuesta en el // web browser. webBrw.Navigate(Settings.Current.InboxPath + LotePagosFacturasRecibidas.GetReceivedFileName()); }