/// <summary> /// Construye una nueva instancia de la clase QueryAeatLine. /// </summary> /// <param name="respuesta"></param> public QueryAeatInvoice(dynamic respuesta) { if (respuesta.DatosPresentacion != null) { CSV = respuesta.DatosPresentacion.CSV; } Lines = new List <QueryAeatInvoiceLine>(); EstadoFactura estado = respuesta.EstadoFactura; Estado = estado.EstadoRegistro; ExternStatus exStatus = (ExternStatus)Convert.ToInt32(estado.EstadoCuadre); EstadoCuadre = $"{exStatus}"; switch (respuesta.GetType().Name) { case "RegistroRCLRFacturasEmitidas": _RegistroRCLRFacturasEmitidas = (RegistroRCLRFacturasEmitidas)respuesta; Libro = "FE"; GetLinesFE(); break; case "RegistroRCLRFacturasRecibidas": _RegistroRCLRFacturasRecibidas = (RegistroRCLRFacturasRecibidas)respuesta; Libro = "FR"; GetLinesFR(); break; } }
private void MnViewXML_Click(object sender, EventArgs e) { // Generaremos el lote para poder dar de baja las facturas que se hayan seleccionado en el DataGrid. _LoteBajaFactRecibidas = new Batch(BatchActionKeys.DR, BatchActionPrefixes.BajaLR, BatchTypes.FacturasRecibidas); foreach (DataGridViewRow row in grdInvoices.SelectedRows) { _LoteBajaFactRecibidas.Titular = _Titular; APInvoice _FactRecibidaBaja = new APInvoice(); RegistroRCLRFacturasRecibidas _regWrk = new RegistroRCLRFacturasRecibidas(); _regWrk = (RegistroRCLRFacturasRecibidas)row.Cells[5].Value; // Sólo daremos de baja aquellas facturas cuyo estado sean correctas, ya que tras realizar varias pruebas, // las anuladas también las devuelve y al seleccionarlas se puede producir un error. if (_regWrk.EstadoFactura.EstadoRegistro == "Correcta") { _FactRecibidaBaja.SellerParty = new Party { PartyName = _regWrk.FacturaRecibida.Contraparte.NombreRazon, TaxIdentificationNumber = _regWrk.FacturaRecibida.Contraparte.NIF }; if (_regWrk.FacturaRecibida.Contraparte.IDOtro != null) { _FactRecibidaBaja.CountryCode = _regWrk.FacturaRecibida.Contraparte.IDOtro.CodigoPais; } _FactRecibidaBaja.IssueDate = Convert.ToDateTime(_regWrk.IDFactura.FechaExpedicionFacturaEmisor); _FactRecibidaBaja.InvoiceNumber = _regWrk.IDFactura.NumSerieFacturaEmisor; _LoteBajaFactRecibidas.BatchItems.Add(_FactRecibidaBaja); } } try { string tmpath = Path.GetTempFileName(); // Genera el archivo xml y lo guarda en la ruta facilitada comno parámetro _LoteBajaFactRecibidas.GetXml(tmpath); FormXmlViewer frmXmlViewer = new FormXmlViewer { Path = tmpath }; frmXmlViewer.ShowDialog(); } catch (Exception ex) { string _msgError = "Error: " + ex.Message; MessageBox.Show(_msgError, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } }