public void FatturaValidateAgainstError00475()
        {
            var tipiDocumento  = new[] { "TD16", "TD17", "TD18", "TD19", "TD20", "TD22", "TD23" };
            var datiAnagrafici = Challenge.FatturaElettronicaHeader.CessionarioCommittente.DatiAnagrafici;
            var idEmpty        = new IdFiscaleIVA();
            var id123          = new IdFiscaleIVA {
                IdPaese = "IT", IdCodice = "123"
            };

            foreach (var tipoDocumento in tipiDocumento)
            {
                Challenge.FatturaElettronicaBody.Clear();
                var body = new FatturaElettronicaBody();
                body.DatiGenerali.DatiGeneraliDocumento.TipoDocumento = tipoDocumento;
                Challenge.FatturaElettronicaBody.Add(body);

                datiAnagrafici.IdFiscaleIVA = idEmpty;
                var result = Challenge.Validate();
                Assert.IsNotNull(result.Errors.FirstOrDefault(x => x.ErrorCode == "00475"));

                datiAnagrafici.IdFiscaleIVA = id123;
                result = Challenge.Validate();
                Assert.IsNull(result.Errors.FirstOrDefault(x => x.ErrorCode == "00475"));
            }
        }
        public void FatturaValidateAgainstError00472()
        {
            var cedente     = Challenge.FatturaElettronicaHeader.CedentePrestatore.DatiAnagrafici;
            var cessionario = Challenge.FatturaElettronicaHeader.CessionarioCommittente.DatiAnagrafici;
            var id123       = new IdFiscaleIVA {
                IdPaese = "IT", IdCodice = "123"
            };
            var id456 = new IdFiscaleIVA {
                IdPaese = "IT", IdCodice = "456"
            };

            var body = new FatturaElettronicaBody();

            body.DatiGenerali.DatiGeneraliDocumento.TipoDocumento = "TD21";
            Challenge.FatturaElettronicaBody.Add(body);

            cedente.IdFiscaleIVA     = id123;
            cessionario.IdFiscaleIVA = id456;
            Assert.IsNotNull(Challenge.Validate().Errors.FirstOrDefault(x => x.ErrorCode == "00472"));

            cessionario.IdFiscaleIVA = id123;
            Assert.IsNull(Challenge.Validate().Errors.FirstOrDefault(x => x.ErrorCode == "00472"));

            cedente.CodiceFiscale = "123";
            cedente.CodiceFiscale = "456";
            Assert.IsNotNull(Challenge.Validate().Errors.FirstOrDefault(x => x.ErrorCode == "00472"));

            cedente.CodiceFiscale = "123";
            Assert.IsNotNull(Challenge.Validate().Errors.FirstOrDefault(x => x.ErrorCode == "00472"));

            body.DatiGenerali.DatiGeneraliDocumento.TipoDocumento = "TD01";
            Assert.IsNull(Challenge.Validate().Errors.FirstOrDefault(x => x.ErrorCode == "00472"));
        }
Ejemplo n.º 3
0
 /// <summary>
 /// Dati relativi al cedente / prestatore.
 /// </summary>
 public CedentePrestatore()
 {
     IdFiscaleIVA          = new IdFiscaleIVA();
     Sede                  = new SedeCedentePrestatore();
     StabileOrganizzazione = new StabileOrganizzazione();
     RappresentanteFiscale = new RappresentanteFiscale();
     IscrizioneREA         = new IscrizioneREA();
 }
Ejemplo n.º 4
0
 public FatturaElettronicaFilename(IdFiscaleIVA idFiscale)
 {
     _idFiscaleIVA = idFiscale ?? throw new ArgumentNullException("Id Fiscale non specificato");
     if (_idFiscaleIVA.IdPaese == null || _idFiscaleIVA.IdPaese.Length < 2)
     {
         throw new ArgumentException("IdPaese non specificato");
     }
     if (_idFiscaleIVA.IdCodice == null)
     {
         throw new ArgumentException("IdCodice non specificato");
     }
 }
Ejemplo n.º 5
0
 public FatturaElettronicaFilename(IdFiscaleIVA idFiscale, FatturaExtensionType fatturaType = FatturaExtensionType.Plain)
 {
     _idFiscaleIVA = idFiscale ?? throw new ArgumentNullException("Id Fiscale non specificato");
     if (_idFiscaleIVA.IdPaese == null || _idFiscaleIVA.IdPaese.Length < 2)
     {
         throw new ArgumentException("IdPaese non specificato");
     }
     if (_idFiscaleIVA.IdCodice == null)
     {
         throw new ArgumentException("IdCodice non specificato");
     }
     _fatturaExtensionType = fatturaType;
 }
 public FatturaElettronicaFileNameGenerator(IdFiscaleIVA idFiscale, FatturaElettronicaFileNameExtensionType fatturaType = FatturaElettronicaFileNameExtensionType.Plain)
 {
     _idFiscaleIVA = idFiscale ?? throw new ArgumentNullException(ErrorMessages.IdFiscaleIsMissing);
     if (_idFiscaleIVA.IdPaese == null || _idFiscaleIVA.IdPaese.Length < 2)
     {
         throw new ArgumentException(ErrorMessages.IdPaeseIsWrongOrMissing);
     }
     if (_idFiscaleIVA.IdCodice == null)
     {
         throw new ArgumentException(ErrorMessages.IdCodiceIsMissing);
     }
     _fatturaExtensionType = fatturaType;
 }
        public void ToStringOverride()
        {
            var idFiscale = new IdFiscaleIVA {
                IdCodice = "123", IdPaese = "IT"
            };

            Assert.AreEqual("IT123", idFiscale.ToString());
            idFiscale = new() { IdPaese = "IT" };
            Assert.AreEqual("IT", idFiscale.ToString());
            idFiscale = new() { IdCodice = "123" };
            Assert.AreEqual("123", idFiscale.ToString());
            idFiscale = new();
            Assert.AreEqual(string.Empty, idFiscale.ToString());
        }
    }
}
Ejemplo n.º 8
0
        public bool EitherIsOwner(IdFiscaleIVA cliFor1, IdFiscaleIVA cliFor2 = null)
        {
            if (InvoicesOptions.Owner.IdPaese == cliFor1.IdPaese &&
                InvoicesOptions.Owner.IdCodice == cliFor1.IdCodice)
            {
                return(true);
            }
            else if (cliFor2 != null &&
                     InvoicesOptions.Owner.IdPaese == cliFor2.IdPaese &&
                     InvoicesOptions.Owner.IdCodice == cliFor2.IdCodice)
            {
                return(true);
            }

            return(false);
        }
        public void FatturaValidateAgainstError00471()
        {
            var tipiDocumento = new[] { "TD16", "TD17", "TD18", "TD19", "TD20" };
            var cedente       = Challenge.FatturaElettronicaHeader.CedentePrestatore.DatiAnagrafici;
            var cessionario   = Challenge.FatturaElettronicaHeader.CessionarioCommittente.DatiAnagrafici;
            var id123         = new IdFiscaleIVA {
                IdPaese = "IT", IdCodice = "123"
            };
            var id456 = new IdFiscaleIVA {
                IdPaese = "IT", IdCodice = "456"
            };

            foreach (var tipoDocumento in tipiDocumento)
            {
                var body = new FatturaElettronicaBody();
                body.DatiGenerali.DatiGeneraliDocumento.TipoDocumento = tipoDocumento;
                Challenge.FatturaElettronicaBody.Add(body);

                cedente.CodiceFiscale     = null;
                cessionario.CodiceFiscale = null;

                cedente.IdFiscaleIVA     = id123;
                cessionario.IdFiscaleIVA = id123;
                var result = Challenge.Validate();
                Assert.IsNotNull(result.Errors.FirstOrDefault(x => x.ErrorCode == "00471"));

                cedente.IdFiscaleIVA = id456;
                result = Challenge.Validate();
                Assert.IsNull(result.Errors.FirstOrDefault(x => x.ErrorCode == "00471"));

                cedente.IdFiscaleIVA      = new();
                cessionario.IdFiscaleIVA  = new();
                cedente.CodiceFiscale     = "123";
                cessionario.CodiceFiscale = "123";
                result = Challenge.Validate();
                Assert.IsNotNull(result.Errors.FirstOrDefault(x => x.ErrorCode == "00471"));

                cessionario.CodiceFiscale = "456";
                result = Challenge.Validate();
                Assert.IsNull(result.Errors.FirstOrDefault(x => x.ErrorCode == "00471"));
            }
        }
Ejemplo n.º 10
0
 /// <summary>
 /// Dati fiscali del cessionario / committente.
 /// </summary>
 public IdentificativiFiscali()
 {
     IdFiscaleIVA = new IdFiscaleIVA();
 }
 /// <summary>
 /// Dati relativi al rappresentante fiscale del cessionario / committente.
 /// </summary>
 public RappresentanteFiscale()
 {
     IdFiscaleIVA = new IdFiscaleIVA();
 }
Ejemplo n.º 12
0
 public RappresentanteFiscaleCessionarioCommittente()
 {
     IdFiscaleIVA = new IdFiscaleIVA();
 }
Ejemplo n.º 13
0
        public List <ReadInvoiceResult> ReadInvoices()
        {
            List <ReadInvoiceResult> readingResult = new List <ReadInvoiceResult>();

            var readerSettings = new XmlReaderSettings
            {
                IgnoreWhitespace             = true,
                IgnoreComments               = true,
                IgnoreProcessingInstructions = true
            };

            List <string> files = Directory.GetFiles(InvoicePath).ToList();

            foreach (var file in files)
            {
                var readInvoiceResult = new ReadInvoiceResult();

                if (Path.GetExtension(file) != ".xml")
                {
                    readInvoiceResult.FileIsValid = false;

                    continue;
                }

                using var stream = new FileStream(file, FileMode.Open, FileAccess.Read);

                FatturaBase tempInvoice = null;

                try
                {
                    tempInvoice = FatturaBase.CreateInstanceFromXml(stream);
                } catch
                {
                    readInvoiceResult.InvoiceIsValid   = false;
                    readInvoiceResult.FileIsValid      = false;
                    readInvoiceResult.IsForOwner       = false;
                    readInvoiceResult.ValidationResult = null;

                    readInvoiceResult.FileName = Path.GetFileName(file);

                    readingResult.Add(readInvoiceResult);
                    continue;
                }

                if (tempInvoice.GetType() == typeof(FatturaOrdinaria))
                {
                    readInvoiceResult.Ordinaria        = new FatturaOrdinaria();
                    readInvoiceResult.Ordinaria        = (FatturaOrdinaria)tempInvoice;
                    readInvoiceResult.ValidationResult = readInvoiceResult.Ordinaria.Validate();
                }
                else
                {
                    readInvoiceResult.Semplificata     = new FatturaSemplificata();
                    readInvoiceResult.Semplificata     = (FatturaSemplificata)tempInvoice;
                    readInvoiceResult.ValidationResult = readInvoiceResult.Semplificata.Validate();
                }


                readInvoiceResult.InvoiceIsValid = readInvoiceResult.ValidationResult.IsValid;

                IdFiscaleIVA IdFiscaleSupplier = new IdFiscaleIVA();
                IdFiscaleIVA IdFiscaleClient   = new IdFiscaleIVA();

                if (readInvoiceResult.Ordinaria != null)
                {
                    IdFiscaleSupplier = ((FatturaOrdinaria)readInvoiceResult.Ordinaria).FatturaElettronicaHeader.CedentePrestatore.DatiAnagrafici.IdFiscaleIVA;
                    IdFiscaleClient   = ((FatturaOrdinaria)readInvoiceResult.Ordinaria).FatturaElettronicaHeader.CessionarioCommittente.DatiAnagrafici.IdFiscaleIVA;
                }
                else
                {
                    IdFiscaleSupplier = ((FatturaSemplificata)readInvoiceResult.Semplificata).FatturaElettronicaHeader.CedentePrestatore.IdFiscaleIVA;
                    IdFiscaleClient   = ((FatturaSemplificata)readInvoiceResult.Semplificata).FatturaElettronicaHeader.CessionarioCommittente.IdentificativiFiscali.IdFiscaleIVA;
                }

                readInvoiceResult.IsForOwner = EitherIsOwner(IdFiscaleSupplier, IdFiscaleClient);

                readInvoiceResult.FileName = Path.GetFileName(file);

                readingResult.Add(readInvoiceResult);
            }

            return(readingResult);
        }
Ejemplo n.º 14
0
 /// <summary>
 /// Filename
 /// </summary>
 /// <param name="idFiscaleIVA"></param>
 /// <param name="lastBillingNumber"></param>
 /// <returns></returns>
 public static string Filename(IdFiscaleIVA idFiscaleIVA, string lastBillingNumber)
 {
     return(new FatturaElettronicaFilename(idFiscaleIVA).FileName(lastBillingNumber));
 }
Ejemplo n.º 15
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);
        }
 public RappresentanteFiscale()
 {
     _idFiscaleIva = new IdFiscaleIVA();
 }