Exemple #1
0
        /// <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;
            }
        }
Exemple #2
0
        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.
            _LoteBajaFactEmitidas = new Batch(BatchActionKeys.DR, BatchActionPrefixes.BajaLR, BatchTypes.FacturasEmitidas);

            foreach (DataGridViewRow row in grdInvoices.SelectedRows)
            {
                _LoteBajaFactEmitidas.Titular = _Titular;

                ARInvoice _FactEmitidaBaja           = new ARInvoice();
                RegistroRCLRFacturasEmitidas _RegWrk = new RegistroRCLRFacturasEmitidas();

                _RegWrk = (RegistroRCLRFacturasEmitidas)row.Cells[5].Value;

                // Sólo daremos de baja aquellas facturas cuyo estado sean correctas, que tras realizar varias pruebas,
                // las anuladas también las devuelve y al seleccionarlas se puede producir un error.
                if (_RegWrk.EstadoFactura.EstadoRegistro == "Correcta")
                {
                    _FactEmitidaBaja.SellerParty = new Party
                    {
                        TaxIdentificationNumber = _RegWrk.IDFactura.IDEmisorFactura.NIF
                    };
                    _FactEmitidaBaja.IssueDate     = Convert.ToDateTime(_RegWrk.IDFactura.FechaExpedicionFacturaEmisor);
                    _FactEmitidaBaja.InvoiceNumber = _RegWrk.IDFactura.NumSerieFacturaEmisor;

                    _LoteBajaFactEmitidas.BatchItems.Add(_FactEmitidaBaja);
                }
            }

            try
            {
                string tmpath = Path.GetTempFileName();

                // Genera el archivo xml y lo guarda en la ruta facilitada comno parámetro
                _LoteBajaFactEmitidas.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);
            }
        }