Ejemplo n.º 1
0
        public void ArrotondamentoImportiUnitariConMoltiDecimali()
        {
            var dl = new DettaglioLinee();

            dl.PrezzoUnitario = 13.4426m;
            dl.Quantita       = 2;
            dl.Descrizione    = "description";
            dl.PrezzoTotale   = 26.89m;
            dl.AliquotaIVA    = 22.0m;
            Assert.IsTrue(dl.IsValid);

            dl = new DettaglioLinee();
            dl.PrezzoUnitario = 3.0246m;
            dl.Quantita       = 5;
            dl.Descrizione    = "description";
            dl.PrezzoTotale   = 15.12m;
            dl.AliquotaIVA    = 22.0m;
            Assert.IsTrue(dl.IsValid);

            dl = new DettaglioLinee();
            dl.PrezzoUnitario = 5.7377m;
            dl.Quantita       = 0.2m;
            dl.Descrizione    = "description";
            dl.PrezzoTotale   = 1.15m;
            dl.AliquotaIVA    = 22.0m;
            Assert.IsTrue(dl.IsValid);

            dl = new DettaglioLinee();
            dl.PrezzoUnitario = 0.0492m;
            dl.Quantita       = 4;
            dl.Descrizione    = "description";
            dl.PrezzoTotale   = 0.20m;
            dl.AliquotaIVA    = 22.0m;
            Assert.IsTrue(dl.IsValid);

            dl = new DettaglioLinee();
            dl.PrezzoUnitario = 22;
            dl.Quantita       = 4;
            dl.Descrizione    = "description";
            dl.PrezzoTotale   = 88;
            dl.AliquotaIVA    = 22.0m;
            Assert.IsTrue(dl.IsValid);

            // Make sure we Round AwayFromZero (PCL has no overload for it)
            dl = new DettaglioLinee();
            dl.PrezzoUnitario = 9.2425m;
            dl.Quantita       = 4;
            dl.Descrizione    = "description";
            dl.PrezzoTotale   = 36.97m;
            dl.AliquotaIVA    = 22.0m;
            Assert.IsTrue(dl.IsValid);

            dl = new DettaglioLinee();
            dl.PrezzoUnitario = 12.235m;
            dl.Quantita       = 1;
            dl.Descrizione    = "description";
            dl.PrezzoTotale   = 12.24m;
            dl.AliquotaIVA    = 22.0m;
            Assert.IsTrue(dl.IsValid);
        }
Ejemplo n.º 2
0
        public void ValidatePrezzoTotaleConQuantitaANull()
        {
            // Testa che #20 sia risolto
            // https://github.com/FatturaElettronica/FatturaElettronica.NET/issues/20

            var l = new DettaglioLinee();

            l.PrezzoUnitario = 10;
            l.PrezzoTotale   = 10;
            Assert.IsNull(l.Quantita);
            Assert.IsTrue(l.ValidateAgainstErr00423());
        }
Ejemplo n.º 3
0
        public void ValidateDettaglioLineeAgainstErr00423()
        {
            var f = FatturaElettronica.FatturaElettronica.CreateInstance(Instance.PubblicaAmministrazione);
            var r = new DettaglioLinee();

            r.PrezzoUnitario = 19.30m;
            r.Quantita       = 1;
            r.ScontoMaggiorazione.Add(new FatturaElettronica.Common.ScontoMaggiorazione {
                Tipo = "SC", Percentuale = 15m
            });
            r.PrezzoTotale = 16.41m;
            Assert.IsTrue(r.ValidateAgainstErr00423());
        }
Ejemplo n.º 4
0
        private PdfPCell GenerateLineItemDescription(DettaglioLinee _LineItem)
        {
            PdfPCell DescriptionCell = new PdfPCell( );

            DescriptionCell.UseAscender         = _CellUseAscender;
            DescriptionCell.PaddingTop          = _CellPaddingTop;
            DescriptionCell.BorderColor         = _BorderColour;
            DescriptionCell.BorderWidth         = _BorderWidth;
            DescriptionCell.VerticalAlignment   = Element.ALIGN_TOP;
            DescriptionCell.HorizontalAlignment = Element.ALIGN_LEFT;

            Paragraph Content = new Paragraph( );
            String    _Spacer = "\n";

            Content.Add(new Phrase(GetNullableString(_LineItem.Descrizione), _BodyHelvetica));
            Content.Add(_Spacer);

            if (_LineItem.DataInizioPeriodo != null)
            {
                Content.Add(new Phrase(LocalisedString.StartOfService + ": ", _HeaderHelvetica));
                Content.Add(new Phrase(GetNullableString(_LineItem.DataInizioPeriodo), _BodyHelvetica));
                Content.Add(_Spacer);
            }

            if (_LineItem.DataFinePeriodo != null)
            {
                Content.Add(new Phrase(LocalisedString.EndDate + ": ", _HeaderHelvetica));
                Content.Add(new Phrase(GetNullableString(_LineItem.DataFinePeriodo), _BodyHelvetica));
                Content.Add(_Spacer);
            }

            if (_LineItem.Natura != null)
            {
                Content.Add(new Phrase(NaturaCodeToString(_LineItem.Natura), _HeaderHelvetica));
            }

            DescriptionCell.AddElement(Content);

            return(DescriptionCell);
        }
Ejemplo n.º 5
0
        public DettaglioLineeModel(DettaglioLinee dl)
        {
            if (dl != null)
            {
                this.NumeroLinea             = dl.NumeroLinea;
                this.TipoCessionePrestazione = dl.TipoCessionePrestazione;
                this.Descrizione             = dl.Descrizione;
                this.Quantita                   = dl.Quantita;
                this.UnitaMisura                = dl.UnitaMisura;
                this.DataInizioPeriodo          = dl.DataInizioPeriodo;
                this.DataFinePeriodo            = dl.DataFinePeriodo;
                this.PrezzoUnitario             = dl.PrezzoUnitario;
                this.PrezzoTotale               = dl.PrezzoTotale;
                this.AliquotaIVA                = dl.AliquotaIVA;
                this.Ritenuta                   = dl.Ritenuta;
                this.Natura                     = dl.Natura;
                this.RiferimentoAmministrazione = dl.RiferimentoAmministrazione;

                this.AltriDatiGestionali = new List <AltriDatiGestionaliModel>();
                int adgLength = dl.AltriDatiGestionali.Count;
                for (int i = 0; i < adgLength; i++)
                {
                    this.AltriDatiGestionali.Add(new AltriDatiGestionaliModel(dl.AltriDatiGestionali[i]));
                }

                this.CodiceArticolo = new List <CodiceArticoloModel>();
                int artLength = dl.CodiceArticolo.Count;
                for (int i = 0; i < artLength; i++)
                {
                    this.CodiceArticolo.Add(new CodiceArticoloModel(dl.CodiceArticolo[i]));
                }

                this.ScontoMaggiorazione = new List <ScontoMaggiorazioneModel>();
                int smLength = dl.ScontoMaggiorazione.Count;
                for (int i = 0; i < smLength; i++)
                {
                    this.ScontoMaggiorazione.Add(new ScontoMaggiorazioneModel(dl.ScontoMaggiorazione[i]));
                }
            }
        }
Ejemplo n.º 6
0
        private bool genera_xml(string percorso, string nome_file)
        {
            bool esito = false;

            try
            {
                FatturaElettronicaXMLNodes nodoPrincipale     = new FatturaElettronicaXMLNodes();
                FatturaElettronicaHeader   overviewHeader     = new FatturaElettronicaHeader();
                DatiTrasmissione           datiTrasmissione   = new DatiTrasmissione();
                IdTrasmittente             idTrasmittente_111 = new IdTrasmittente();
                idTrasmittente_111.IdPaese           = "IT";
                idTrasmittente_111.IdCodice          = "01234567890";
                datiTrasmissione.IdTrasmittente      = idTrasmittente_111;
                datiTrasmissione.ProgressivoInvio    = "00001";
                datiTrasmissione.FormatoTrasmissione = "FPR12";
                datiTrasmissione.CodiceDestinatario  = "ABC1234";
                ContattiTrasmittente contattiTrasmittente_115 = new ContattiTrasmittente();
                contattiTrasmittente_115.Telefono     = "";
                contattiTrasmittente_115.Email        = "";
                datiTrasmissione.ContattiTrasmittente = contattiTrasmittente_115;
                datiTrasmissione.PECDestinatario      = "";
                overviewHeader.DatiTrasmissione       = datiTrasmissione;
                CedentePrestatore cedentePrestatore  = new CedentePrestatore();
                DatiAnagrafici    datiAnagrafici_121 = new DatiAnagrafici();
                IdFiscaleIVA      idFiscaleIVA_121   = new IdFiscaleIVA();
                idFiscaleIVA_121.IdPaese         = "IT";
                idFiscaleIVA_121.IdCodice        = "01234567890";
                datiAnagrafici_121.IdFiscaleIVA  = idFiscaleIVA_121;
                datiAnagrafici_121.CodiceFiscale = "";
                Anagrafica anagrafica_121 = new Anagrafica();
                anagrafica_121.Denominazione            = "SOCIETA' ALPHA SRL";
                anagrafica_121.Nome                     = "";
                anagrafica_121.Cognome                  = "";
                anagrafica_121.Titolo                   = "";
                anagrafica_121.CodEORI                  = "";
                datiAnagrafici_121.Anagrafica           = anagrafica_121;
                datiAnagrafici_121.AlboProfessionale    = "";
                datiAnagrafici_121.ProvinciaAlbo        = "";
                datiAnagrafici_121.NumeroIscrizioneAlbo = "";
                datiAnagrafici_121.DataIscrizioneAlbo   = "";
                datiAnagrafici_121.RegimeFiscale        = "RF19";
                cedentePrestatore.DatiAnagrafici        = datiAnagrafici_121;
                Sede sede_122 = new Sede();
                sede_122.Indirizzo     = "VIALE ROMA";
                sede_122.NumeroCivico  = "543";
                sede_122.CAP           = "07100";
                sede_122.Comune        = "SASSARI";
                sede_122.Provincia     = "SS";
                sede_122.Nazione       = "IT";
                cedentePrestatore.Sede = sede_122;
                StabileOrganizzazione stabileOrganizzazione_123 = new StabileOrganizzazione();
                stabileOrganizzazione_123.Indirizzo     = "";
                stabileOrganizzazione_123.NumeroCivico  = "";
                stabileOrganizzazione_123.CAP           = "";
                stabileOrganizzazione_123.Comune        = "";
                stabileOrganizzazione_123.Provincia     = "";
                stabileOrganizzazione_123.Nazione       = "";
                cedentePrestatore.StabileOrganizzazione = stabileOrganizzazione_123;
                IscrizioneREA iscrizioneREA_124 = new IscrizioneREA();
                iscrizioneREA_124.Ufficio           = "";
                iscrizioneREA_124.NumeroREA         = "";
                iscrizioneREA_124.CapitaleSociale   = "";
                iscrizioneREA_124.SocioUnico        = "";
                iscrizioneREA_124.StatoLiquidazione = "";
                cedentePrestatore.IscrizioneREA     = iscrizioneREA_124;
                Contatti contatti_125 = new Contatti();
                contatti_125.Telefono      = "";
                contatti_125.Fax           = "";
                contatti_125.Email         = "";
                cedentePrestatore.Contatti = contatti_125;
                cedentePrestatore.RiferimentoAmministrazione = "";
                overviewHeader.CedentePrestatore             = cedentePrestatore;
                RappresentanteFiscale rappresentanteFiscale = new RappresentanteFiscale();
                DatiAnagrafici        datiAnagrafici_131    = new DatiAnagrafici();
                IdFiscaleIVA          idFiscaleIVA_131      = new IdFiscaleIVA();
                idFiscaleIVA_131.IdPaese         = "";
                idFiscaleIVA_131.IdPaese         = "";
                datiAnagrafici_131.IdFiscaleIVA  = idFiscaleIVA_131;
                datiAnagrafici_131.CodiceFiscale = "";
                Anagrafica anagrafica_131 = new Anagrafica();
                anagrafica_131.Denominazione         = "";
                anagrafica_131.Nome                  = "";
                anagrafica_131.Cognome               = "";
                anagrafica_131.Titolo                = "";
                anagrafica_131.CodEORI               = "";
                datiAnagrafici_131.Anagrafica        = anagrafica_131;
                rappresentanteFiscale.DatiAnagrafici = datiAnagrafici_131;
                overviewHeader.RappresentanteFiscale = rappresentanteFiscale;
                CessionarioCommittente cessionarioCommittente = new CessionarioCommittente();
                DatiAnagrafici         datiAnagrafici_141     = new DatiAnagrafici();
                IdFiscaleIVA           idFiscaleIVA_141       = new IdFiscaleIVA();
                idFiscaleIVA_141.IdPaese         = "";
                idFiscaleIVA_141.IdCodice        = "";
                datiAnagrafici_141.IdFiscaleIVA  = idFiscaleIVA_141;
                datiAnagrafici_141.CodiceFiscale = "09876543210";
                Anagrafica anagrafica_141 = new Anagrafica();
                anagrafica_141.Denominazione          = "AMMINISTRAZIONE BETA";
                anagrafica_141.Nome                   = "";
                anagrafica_141.Cognome                = "";
                anagrafica_141.Titolo                 = "";
                anagrafica_141.CodEORI                = "";
                datiAnagrafici_141.Anagrafica         = anagrafica_141;
                cessionarioCommittente.DatiAnagrafici = datiAnagrafici_141;
                Sede sede_142 = new Sede();
                sede_142.Indirizzo          = "VIA TORINO";
                sede_142.NumeroCivico       = "38";
                sede_142.CAP                = "00145";
                sede_142.Comune             = "ROMA";
                sede_142.Provincia          = "RM";
                sede_142.Nazione            = "IT";
                cessionarioCommittente.Sede = sede_142;
                StabileOrganizzazione stabileOrganiccazione_143 = new StabileOrganizzazione();
                stabileOrganiccazione_143.Indirizzo          = "";
                stabileOrganiccazione_143.NumeroCivico       = "";
                stabileOrganiccazione_143.CAP                = "";
                stabileOrganiccazione_143.Comune             = "";
                stabileOrganiccazione_143.Provincia          = "";
                stabileOrganiccazione_143.Nazione            = "";
                cessionarioCommittente.StabileOrganizzazione = stabileOrganiccazione_143;
                RappresentanteFiscale rappresentanteFiscale_144 = new RappresentanteFiscale();
                DatiAnagrafici        datiAnagrafici_144        = new DatiAnagrafici();
                IdFiscaleIVA          idFiscaleIVA_144          = new IdFiscaleIVA();
                idFiscaleIVA_144.IdPaese        = "";
                idFiscaleIVA_144.IdCodice       = "";
                datiAnagrafici_144.IdFiscaleIVA = idFiscaleIVA_144;
                Anagrafica anagrafica_144 = new Anagrafica();
                anagrafica_144.Denominazione             = "";
                anagrafica_144.Nome                      = "";
                anagrafica_144.Cognome                   = "";
                datiAnagrafici_144.Anagrafica            = anagrafica_144;
                rappresentanteFiscale_144.DatiAnagrafici = datiAnagrafici_144;
                overviewHeader.CessionarioCommittente    = cessionarioCommittente;
                TerzoIntermediarioOSoggettoEmittente terzoIntermediarioOSoggettoEmittente = new TerzoIntermediarioOSoggettoEmittente();
                DatiAnagrafici datiAnagrafici_151 = new DatiAnagrafici();
                IdFiscaleIVA   idFiscaleIVA_151   = new IdFiscaleIVA();
                idFiscaleIVA_151.IdPaese         = "";
                idFiscaleIVA_151.IdCodice        = "";
                datiAnagrafici_151.IdFiscaleIVA  = idFiscaleIVA_151;
                datiAnagrafici_151.CodiceFiscale = "";
                datiAnagrafici_151.CodiceFiscale = "";
                Anagrafica anagrafica_151 = new Anagrafica();
                anagrafica_151.Denominazione  = "";
                anagrafica_151.Nome           = "";
                anagrafica_151.Cognome        = "";
                anagrafica_151.Titolo         = "";
                anagrafica_151.CodEORI        = "";
                datiAnagrafici_151.Anagrafica = anagrafica_151;
                overviewHeader.TerzoIntermediarioOSoggettoEmittente = terzoIntermediarioOSoggettoEmittente;
                overviewHeader.SoggettoEmittente = "";
                FatturaElettronicaBody overviewBody          = new FatturaElettronicaBody();
                DatiGenerali           datiGenerali          = new DatiGenerali();
                DatiGeneraliDocumento  datiGeneraliDocumento = new DatiGeneraliDocumento();
                datiGeneraliDocumento.TipoDocumento = "TD01";
                datiGeneraliDocumento.Divisa        = "EUR";
                datiGeneraliDocumento.Data          = "2017-01-18";
                datiGeneraliDocumento.Numero        = "123";
                DatiRitenuta datiRitenuta = new DatiRitenuta();
                datiRitenuta.TipoRitenuta          = "";
                datiRitenuta.ImportoRitenuta       = "";
                datiRitenuta.AliquotaRitenuta      = "";
                datiRitenuta.CausalePagamento      = "";
                datiGeneraliDocumento.DatiRitenuta = datiRitenuta;
                DatiBollo datiBollo = new DatiBollo();
                datiBollo.BolloVirtuale         = "";
                datiBollo.ImportoBollo          = "";
                datiGeneraliDocumento.DatiBollo = datiBollo;
                DatiCassaPrevidenziale        datiCassaPrevidenziale     = new DatiCassaPrevidenziale();
                List <DatiCassaPrevidenziale> datiCassaPrevidenzialeList = new List <DatiCassaPrevidenziale>();
                datiCassaPrevidenziale.TipoCassa = "";
                datiCassaPrevidenziale.AlCassa   = "";
                datiCassaPrevidenziale.ImportoContributoCassa = "";
                datiCassaPrevidenziale.ImponibileCassa        = "";
                datiCassaPrevidenziale.AliquotaIVA            = "";
                datiCassaPrevidenziale.Ritenuta = "";
                datiCassaPrevidenziale.Natura   = "";
                datiCassaPrevidenziale.RiferimentoAmministrazione = "";
                datiCassaPrevidenzialeList.Add(datiCassaPrevidenziale);
                datiGeneraliDocumento.DatiCassaPrevidenziale = datiCassaPrevidenzialeList;
                ScontoMaggiorazione        scontoMaggiorazione     = new ScontoMaggiorazione();
                List <ScontoMaggiorazione> scontoMaggiorazioneList = new List <ScontoMaggiorazione>();
                scontoMaggiorazione.Tipo        = "";
                scontoMaggiorazione.Percentuale = "";
                scontoMaggiorazione.Importo     = "";
                scontoMaggiorazioneList.Add(scontoMaggiorazione);
                datiGeneraliDocumento.ScontoMaggiorazione    = scontoMaggiorazioneList;
                datiGeneraliDocumento.ImportoTotaleDocumento = "";
                datiGeneraliDocumento.Arrotondamento         = "";
                datiGeneraliDocumento.Causale      = "";
                datiGeneraliDocumento.Art73        = "";
                datiGenerali.DatiGeneraliDocumento = datiGeneraliDocumento;
                DatiOrdineAcquisto        datiOrdineAcquisto     = new DatiOrdineAcquisto();
                List <DatiOrdineAcquisto> datiOrdineAcquistoList = new List <DatiOrdineAcquisto>();
                datiOrdineAcquisto.RiferimentoNumeroLinea = "1";
                datiOrdineAcquisto.IdDocumento            = "66685";
                datiOrdineAcquisto.Data    = "2016-09-0";
                datiOrdineAcquisto.NumItem = "";
                datiOrdineAcquisto.CodiceCommessaConvenzione = "";
                datiOrdineAcquisto.CodiceCUP = "";
                datiOrdineAcquisto.CodiceCIG = "";
                datiOrdineAcquistoList.Add(datiOrdineAcquisto);
                datiGenerali.DatiOrdineAcquisto = datiOrdineAcquistoList;
                DatiContratto        datiContratto     = new DatiContratto();
                List <DatiContratto> datiContrattoList = new List <DatiContratto>();
                datiContratto.RiferimentoNumeroLinea = "";
                datiContratto.IdDocumento            = "";
                datiContratto.Data    = "";
                datiContratto.NumItem = "";
                datiContratto.CodiceCommessaConvenzione = "";
                datiContratto.CodiceCUP = "";
                datiContratto.CodiceCIG = "";
                datiContrattoList.Add(datiContratto);
                datiGenerali.DatiContratto = datiContrattoList;
                DatiConvenzione        datiConvenzione     = new DatiConvenzione();
                List <DatiConvenzione> datiConvenzioneList = new List <DatiConvenzione>();
                datiConvenzione.RiferimentoNumeroLinea = "";
                datiConvenzione.IdDocumento            = "";
                datiConvenzione.Data    = "";
                datiConvenzione.NumItem = "";
                datiConvenzione.CodiceCommessaConvenzione = "";
                datiConvenzione.CodiceCUP = "";
                datiConvenzione.CodiceCIG = "";
                datiConvenzioneList.Add(datiConvenzione);
                datiGenerali.DatiConvenzione = datiConvenzioneList;
                DatiRicezione        datiRicezione     = new DatiRicezione();
                List <DatiRicezione> datiRicezioneList = new List <DatiRicezione>();
                datiRicezione.RiferimentoNumeroLinea = "";
                datiRicezione.IdDocumento            = "";
                datiRicezione.Data    = "";
                datiRicezione.NumItem = "";
                datiRicezione.CodiceCommessaConvenzione = "";
                datiRicezione.CodiceCUP = "";
                datiRicezione.CodiceCIG = "";
                datiRicezioneList.Add(datiRicezione);
                datiGenerali.DatiRicezione = datiRicezioneList;
                DatiFattureCollegate        datiFattureCollegate     = new DatiFattureCollegate();
                List <DatiFattureCollegate> datiFattureCollegateList = new List <DatiFattureCollegate>();
                datiFattureCollegate.RiferimentoNumeroLinea = "";
                datiFattureCollegate.IdDocumento            = "";
                datiFattureCollegate.Data    = "";
                datiFattureCollegate.NumItem = "";
                datiFattureCollegate.CodiceCommessaConvenzione = "";
                datiFattureCollegate.CodiceCUP = "";
                datiFattureCollegate.CodiceCIG = "";
                datiFattureCollegateList.Add(datiFattureCollegate);
                datiGenerali.DatiFattureCollegate = datiFattureCollegateList;
                DatiSAL        datiSAL     = new DatiSAL();
                List <DatiSAL> datiSALList = new List <DatiSAL>();
                datiSAL.RiferimentoFase = "";
                datiSALList.Add(datiSAL);
                datiGenerali.DatiSAL = datiSALList;
                DatiDDT        datiDDT     = new DatiDDT();
                List <DatiDDT> datiDDTList = new List <DatiDDT>();
                datiDDT.NumeroDDT = "";
                datiDDT.DataDDT   = "";
                datiDDT.RiferimentoNumeroLinea = "";
                datiDDTList.Add(datiDDT);
                datiGenerali.DatiDDT = datiDDTList;
                DatiTrasporto         datiTrasporto         = new DatiTrasporto();
                DatiAnagraficiVettore datiAnagraficiVettore = new DatiAnagraficiVettore();
                IdFiscaleIVA          idFiscaleIva          = new IdFiscaleIVA();
                idFiscaleIva.IdCodice = "";
                idFiscaleIva.IdPaese  = "";
                datiAnagraficiVettore.IdFiscaleIVA  = idFiscaleIva;
                datiAnagraficiVettore.CodiceFiscale = "";
                Anagrafica anagraficaVettore = new Anagrafica();
                anagraficaVettore.Denominazione          = "";
                anagraficaVettore.Nome                   = "";
                anagraficaVettore.Cognome                = "";
                anagraficaVettore.Titolo                 = "";
                anagraficaVettore.CodEORI                = "";
                datiAnagraficiVettore.Anagrafica         = anagraficaVettore;
                datiAnagraficiVettore.NumeroLicenzaGuida = "";
                datiTrasporto.MezzoTrasporto             = "";
                datiTrasporto.CausaleTrasporto           = "";
                datiTrasporto.NumeroColli                = "";
                datiTrasporto.Descrizione                = "";
                datiTrasporto.UnitaMisuraPeso            = "";
                datiTrasporto.PesoLordo                  = "";
                datiTrasporto.PesoNetto                  = "";
                datiTrasporto.DataOraRitiro              = "";
                datiTrasporto.DataInizioTrasporto        = "";
                datiTrasporto.TipoResa                   = "";
                IndirizzoResa indirizzoResa = new IndirizzoResa();
                indirizzoResa.Indirizzo       = "";
                indirizzoResa.NumeroCivico    = "";
                indirizzoResa.CAP             = "";
                indirizzoResa.Comune          = "";
                indirizzoResa.Provincia       = "";
                indirizzoResa.Nazione         = "";
                datiTrasporto.IndirizzoResa   = indirizzoResa;
                datiTrasporto.DataOraConsegna = "";
                datiGenerali.DatiTrasporto    = datiTrasporto;
                FatturaPrincipale fatturaPrincipale = new FatturaPrincipale();
                fatturaPrincipale.NumeroFatturaPrincipale = "";
                fatturaPrincipale.DataFatturaPrincipale   = "";
                datiGenerali.FatturaPrincipale            = fatturaPrincipale;
                overviewBody.DatiGenerali = datiGenerali;
                DatiBeniServizi       datiBeniServizi    = new DatiBeniServizi();
                DettaglioLinee        dettaglioLinee     = new DettaglioLinee();
                List <DettaglioLinee> dettaglioLineeList = new List <DettaglioLinee>();
                dettaglioLinee.NumeroLinea             = "";
                dettaglioLinee.TipoCessionePrestazione = "";
                CodiceArticolo codiceArticolo = new CodiceArticolo();
                codiceArticolo.CodiceTipo        = "";
                codiceArticolo.CodiceValore      = "";
                dettaglioLinee.CodiceArticolo    = codiceArticolo;
                dettaglioLinee.Descrizione       = "";
                dettaglioLinee.Quantita          = "";
                dettaglioLinee.UnitaMisura       = "";
                dettaglioLinee.DataInizioPeriodo = "";
                dettaglioLinee.DataFinePeriodo   = "";
                dettaglioLinee.PrezzoUnitario    = "";
                ScontoMaggiorazione scontoMaggiorazione_221 = new ScontoMaggiorazione();
                scontoMaggiorazione_221.Tipo        = "";
                scontoMaggiorazione_221.Percentuale = "";
                scontoMaggiorazione_221.Importo     = "";
                dettaglioLinee.ScontoMaggiorazione  = scontoMaggiorazione_221;
                dettaglioLinee.PrezzoTotale         = "";
                dettaglioLinee.AliquotaIVA          = "";
                dettaglioLinee.Ritenuta             = "";
                dettaglioLinee.Natura = "";
                dettaglioLinee.RiferimentoAmministrazione = "";
                AltriDatiGestionali altriDatiGestionali = new AltriDatiGestionali();
                altriDatiGestionali.TipoDato          = "";
                altriDatiGestionali.RiferimentoTesto  = "";
                altriDatiGestionali.RiferimentoNumero = "";
                altriDatiGestionali.RiferimentoData   = "";
                dettaglioLinee.AltriDatiGestionali    = altriDatiGestionali;
                dettaglioLineeList.Add(dettaglioLinee);
                datiBeniServizi.DettaglioLinee = dettaglioLineeList;
                DatiRiepilogo        datiRiepilogo     = new DatiRiepilogo();
                List <DatiRiepilogo> datiRiepilogoList = new List <DatiRiepilogo>();
                datiRiepilogo.AliquotaIVA          = "";
                datiRiepilogo.Natura               = "";
                datiRiepilogo.SpeseAccessorie      = "";
                datiRiepilogo.Arrotondamento       = "";
                datiRiepilogo.ImponibileImporto    = "";
                datiRiepilogo.Imposta              = "";
                datiRiepilogo.EsigibilitaIVA       = "";
                datiRiepilogo.RiferimentoNormativo = "";
                datiRiepilogoList.Add(datiRiepilogo);
                datiBeniServizi.DatiRiepilogo = datiRiepilogoList;
                overviewBody.DatiBeniServizi  = datiBeniServizi;
                DatiVeicoli datiVeicoli = new DatiVeicoli();
                datiVeicoli.Data           = "";
                datiVeicoli.TotalePercorso = "";
                overviewBody.DatiVeicoli   = datiVeicoli;
                DatiPagamento datiPagamento = new DatiPagamento();
                datiPagamento.CondizioniPagamento = "";
                DettaglioPagamento dettaglioPagamento = new DettaglioPagamento();
                dettaglioPagamento.Beneficiario      = "";
                dettaglioPagamento.ModalitaPagamento = "";
                dettaglioPagamento.DataRiferimentoTerminiPagamento = "";
                dettaglioPagamento.GiorniTerminiPagamento          = "";
                dettaglioPagamento.DataScadenzaPagamento           = "";
                dettaglioPagamento.ImportoPagamento    = "";
                dettaglioPagamento.CodUfficioPostale   = "";
                dettaglioPagamento.CognomeQuietanzante = "";
                dettaglioPagamento.NomeQuietanzante    = "";
                dettaglioPagamento.CFQuietanzante      = "";
                dettaglioPagamento.TitoloQuietanzante  = "";
                dettaglioPagamento.IstitutoFinanziario = "";
                dettaglioPagamento.IBAN = "";
                dettaglioPagamento.ABI  = "";
                dettaglioPagamento.CAB  = "";
                dettaglioPagamento.BIC  = "";
                dettaglioPagamento.ScontoPagamentoAnticipato     = "";
                dettaglioPagamento.DataLimitePagamentoAnticipato = "";
                dettaglioPagamento.PenalitaPagamentiRitardati    = "";
                dettaglioPagamento.DataDecorrenzaPenale          = "";
                dettaglioPagamento.CodicePagamento = "";
                datiPagamento.DettaglioPagamento   = dettaglioPagamento;
                overviewBody.DatiPagamento         = datiPagamento;
                Allegati allegati = new Allegati();
                allegati.NomeAttachment                 = "";
                allegati.AlgoritmoCompressione          = "";
                allegati.FormatoAttachment              = "";
                allegati.DescrizioneAttachment          = "";
                allegati.Attachment                     = "";
                overviewBody.Allegati                   = allegati;
                nodoPrincipale.FatturaElettronicaHeader = overviewHeader;
                nodoPrincipale.FatturaElettronicaBody   = overviewBody;
                XmlRootAttribute XmlRoot = new XmlRootAttribute();
                XmlRoot.Namespace = "http://www.fatturapa.gov.it/sdi/fatturapa/v1.2";
                XmlAttributes myxmlAttribute = new XmlAttributes();
                myxmlAttribute.XmlRoot = XmlRoot;
                XmlAttributeOverrides xmlAttributeOverrides = new XmlAttributeOverrides();
                xmlAttributeOverrides.Add(typeof(FatturaElettronicaXMLNodes), myxmlAttribute);
                XmlAttributes       emptyNsAttribute = new XmlAttributes();
                XmlElementAttribute xElement1        = new XmlElementAttribute();
                xElement1.Namespace = "";
                emptyNsAttribute.XmlElements.Add(xElement1);
                xmlAttributeOverrides.Add(typeof(FatturaElettronicaXMLNodes), "FatturaElettronicaHeader", emptyNsAttribute);
                xmlAttributeOverrides.Add(typeof(FatturaElettronicaXMLNodes), "FatturaElettronicaBody", emptyNsAttribute);
                nodoPrincipale.versione = "FPA12";
                XmlSerializer ser = new XmlSerializer(nodoPrincipale.GetType(), xmlAttributeOverrides);
                ser = new XmlSerializer(nodoPrincipale.GetType(), new XmlRootAttribute("pX"));
                XmlSerializerNamespaces ns = new XmlSerializerNamespaces();
                ns.Add("ds", "http://www.w3.org/2000/09/xmldsig#");
                ns.Add("p", "http://ivaservizi.agenziaentrate.gov.it/docs/xsd/fatture/v1.2");
                ns.Add("xsi", "http://www.w3.org/2001/XMLSchema-instance");
                var path = percorso + nome_file;
                System.IO.FileStream file = System.IO.File.Create(path);
                ser.Serialize(new System.IO.StreamWriter(file, new System.Text.UTF8Encoding()), nodoPrincipale, ns);
                file.Close();
                string delimiterToBeReplaced = "pX";
                string newDelimiter          = "p:FatturaElettronica";
                string contents = System.IO.File.ReadAllText(path);
                contents = contents.Replace(delimiterToBeReplaced, newDelimiter);
                System.IO.File.WriteAllText(path, contents);
                esito = true;
            }
            catch (Exception ex)
            {
                string eccezione = ex.ToString();
                return(esito);
            }
            return(esito);
        }