private void EnviaLoteEnCurso() { // Realizamos el envío del lote a la AEAT Wsd.SendFacturasRecibidas(_LoteDeFacturasRecibidas); // Muestro el xml de respuesta recibido de la AEAT en el web browser FormXmlViewer frmXmlViewer = new FormXmlViewer { Path = Settings.Current.InboxPath + _LoteDeFacturasRecibidas.GetReceivedFileName() }; frmXmlViewer.ShowDialog(); // Obtengo la respuesta de facturas recibidas del archivo de // respuesta de la AEAT. RespuestaLRF respuesta = new Envelope(frmXmlViewer.Path).Body.RespuestaLRFacturasRecibidas; 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[6].Value = MSeniorSII.Properties.Resources.circle_green; } else { row.Cells[6].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 EnviarLoteFacturasRecibidas() { // Creamos un lote de factura recibidas APInvoicesBatch LoteFacturasRecibidas = CrearLoteFacturasRecibidas(); /*****************************************/ //Envelope envelope = LoteFacturasRecibidas.GetEnvelope(); //SuministroLRFacturasRecibidas slrFrasRecibidas = envelope.Body.SuministroLRFacturasRecibidas; //FacturaRecibida fraRecibida = slrFrasRecibidas.RegistroLRFacturasRecibidas[0].FacturaRecibida; //fraRecibida.TipoRectificativa = "I"; //fraRecibida.FacturasRectificadas = new List<IDFactura>(); //fraRecibida.FacturasRectificadas.Add(new IDFactura()); //fraRecibida.FacturasRectificadas[0].NumSerieFacturaEmisor = "000000000055"; //fraRecibida.FacturasRectificadas[0].FechaExpedicionFacturaEmisor = // "01-01-2015" ; //// En este caso pongo a null IDEmisorFactura para que no serialice una etiqueta vacía. //fraRecibida.FacturasRectificadas[0].IDEmisorFactura = null; ////fraRecibida.FacturasRectificadas = new EasySII.Xml.Sii.FacturasRectificadas(); ////fraRecibida.FacturasRectificadas.IDFacturaRectificada = new IDFactura(); ////fraRecibida.FacturasRectificadas.IDFacturaRectificada.NumSerieFacturaEmisor = "00000000022"; ////fraRecibida.FacturasRectificadas.IDFacturaRectificada.FechaExpedicionFacturaEmisor = "01-01-2015"; //string response = Wsd.Send(envelope); //string file = Settings.Current.InboxPath + // LoteFacturasRecibidas.GetReceivedFileName(); //File.WriteAllText(file, response); //webBrw.Navigate(file); //return; /*****************************************/ // Realizamos el envío del lote a la AEAT Wsd.SendFacturasRecibidas(LoteFacturasRecibidas); // Muestro el xml de respuesta recibido de la AEAT en el web browser webBrw.Navigate(Settings.Current.InboxPath + LoteFacturasRecibidas.GetReceivedFileName()); }
private void EnviaLoteEnCurso() { // Realizamos el envío del lote a la AEAT Wsd.SendFacturasRecibidas(_LoteDeFacturasRecibidas); // Muestro el xml de respuesta recibido de la AEAT en el web browser FormXmlViewer frmXmlViewer = new FormXmlViewer { Path = Settings.Current.InboxPath + _LoteDeFacturasRecibidas.GetReceivedFileName() }; frmXmlViewer.ShowDialog(); }