private void EnviaLoteEnCurso() { // Realizamos el envío del lote a la AEAT Wsd.SendOperIntracom(_LoteOperIntracom); // Muestro el xml de respuesta recibido de la AEAT en el web browser FormXmlViewer frmXmlViewer = new FormXmlViewer { Path = Settings.Current.InboxPath + _LoteOperIntracom.GetReceivedFileName() }; frmXmlViewer.ShowDialog(); // Obtengo la respuesta de facturas recibidas del archivo de // respuesta de la AEAT. RespuestaLRF respuesta = new Envelope(frmXmlViewer.Path).Body.RespuestaLRDetOperacionesIntracomunitarias; 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[7].Value = MSeniorSII.Properties.Resources.circle_green; } else { row.Cells[7].Value = MSeniorSII.Properties.Resources.circle_red; } } } MessageBox.Show($"Estado del envío realizado a la AEAT: {respuesta.EstadoEnvio}.\nCódigo CVS: {respuesta.CSV}"); }
/// <summary> /// Ejemplo de envío de un lote de facturas recibidas /// </summary> public void EnviarLoteOperIntracom() { // Creamos un lote de factura recibidas ITInvoicesBatch LoteOperIntracom = CrearLoteOperIntracom(); // Realizamos el envío del lote a la AEAT Wsd.SendOperIntracom(LoteOperIntracom); // Muestro el xml de respuesta recibido de la AEAT en el web browser webBrw.Navigate(Settings.Current.InboxPath + LoteOperIntracom.GetReceivedFileName()); }