예제 #1
0
        public void InitializeInvoice(FatturaOrdinaria fatturaElettronica, OwnerOptions ownerOptions)
        {
            FatturaElettronicaHeader header = fatturaElettronica.FatturaElettronicaHeader;

            this.ProgressivoInvio    = header.DatiTrasmissione.ProgressivoInvio;
            this.FormatoTrasmissione = header.DatiTrasmissione.FormatoTrasmissione;
            this.CodiceDestinatario  = header.DatiTrasmissione.CodiceDestinatario;
            this.SoggettoEmittente   = header.SoggettoEmittente;
            this.PECDestinatario     = header.DatiTrasmissione.PECDestinatario;

            this.Trasmittente = new CliForModel(header.DatiTrasmissione);

            if (header.TerzoIntermediarioOSoggettoEmittente != null)
            {
                this.IntermediarioOEmittente = new CliForModel(header.TerzoIntermediarioOSoggettoEmittente);
            }

            this.Bodies = new List <BodyModel>();
            foreach (var body in fatturaElettronica.FatturaElettronicaBody)
            {
                this.Bodies.Add(new BodyModel(body, header));
            }
        }
예제 #2
0
        public BodyModel(FatturaElettronicaBody body,
                         FatturaElettronicaHeader header)
        {
            if (body != null)
            {
                this.Simplified = false;

                this.TipoDocumento           = body.DatiGenerali.DatiGeneraliDocumento.TipoDocumento;
                this.Divisa                  = body.DatiGenerali.DatiGeneraliDocumento.Divisa;
                this.Data                    = body.DatiGenerali.DatiGeneraliDocumento.Data;
                this.Numero                  = body.DatiGenerali.DatiGeneraliDocumento.Numero;
                this.BolloVirtuale           = body.DatiGenerali.DatiGeneraliDocumento.DatiBollo.BolloVirtuale;
                this.ImportoBollo            = body.DatiGenerali.DatiGeneraliDocumento.DatiBollo.ImportoBollo;
                this.ImportoTotaleDocumento  = body.DatiGenerali.DatiGeneraliDocumento.ImportoTotaleDocumento;
                this.Arrotondamento          = body.DatiGenerali.DatiGeneraliDocumento.Arrotondamento;
                this.Art73                   = body.DatiGenerali.DatiGeneraliDocumento.Art73;
                this.NumeroFatturaPrincipale = body.DatiGenerali.FatturaPrincipale.NumeroFatturaPrincipale;
                this.DataFatturaPrincipale   = body.DatiGenerali.FatturaPrincipale.DataFatturaPrincipale;

                this.MezzoTrasporto      = body.DatiGenerali.DatiTrasporto.MezzoTrasporto;
                this.CausaleTrasporto    = body.DatiGenerali.DatiTrasporto.CausaleTrasporto;
                this.NumeroColli         = body.DatiGenerali.DatiTrasporto.NumeroColli;
                this.Descrizione         = body.DatiGenerali.DatiTrasporto.Descrizione;
                this.UnitaMisuraPeso     = body.DatiGenerali.DatiTrasporto.UnitaMisuraPeso;
                this.PesoLordo           = body.DatiGenerali.DatiTrasporto.PesoLordo;
                this.PesoNetto           = body.DatiGenerali.DatiTrasporto.PesoNetto;
                this.DataOraRitiro       = body.DatiGenerali.DatiTrasporto.DataOraRitiro;
                this.DataInizioTrasporto = body.DatiGenerali.DatiTrasporto.DataInizioTrasporto;
                this.TipoResa            = body.DatiGenerali.DatiTrasporto.TipoResa;
                this.DataOraConsegna     = body.DatiGenerali.DatiTrasporto.DataOraConsegna;

                if (body.DatiGenerali.DatiTrasporto != null &&
                    body.DatiGenerali.DatiTrasporto.IndirizzoResa != null &&
                    body.DatiGenerali.DatiTrasporto.IndirizzoResa.CAP != null)
                {
                    this.LuogoResa = new SediModel(body.DatiGenerali.DatiTrasporto.IndirizzoResa);
                }

                int causaleLength = body.DatiGenerali.DatiGeneraliDocumento.Causale.Count;
                if (causaleLength > 0)
                {
                    this.Causale = new List <CausaleModel>();
                }
                foreach (var c in body.DatiGenerali.DatiGeneraliDocumento.Causale)
                {
                    this.Causale.Add(new CausaleModel(c));
                }

                int ddtLength = body.DatiGenerali.DatiDDT.Count;
                if (ddtLength > 0)
                {
                    this.DatiDDT = new List <DatiDDTModel>();
                }
                foreach (var ddt in body.DatiGenerali.DatiDDT)
                {
                    this.DatiDDT.Add(new DatiDDTModel(ddt));
                }

                int cassaLength = body.DatiGenerali.DatiGeneraliDocumento.DatiCassaPrevidenziale.Count;
                if (cassaLength > 0)
                {
                    this.DatiCassaPrevidenziale = new List <DatiCassaPrevidenzialeModel>();
                }
                foreach (var cassa in body.DatiGenerali.DatiGeneraliDocumento.DatiCassaPrevidenziale)
                {
                    this.DatiCassaPrevidenziale.Add(new DatiCassaPrevidenzialeModel(cassa));
                }

                // ---DatiModel---
                int acquistoLength    = body.DatiGenerali.DatiOrdineAcquisto.Count;
                int contrattoLength   = body.DatiGenerali.DatiContratto.Count;
                int convenzioneLength = body.DatiGenerali.DatiConvenzione.Count;
                int ricezioneLength   = body.DatiGenerali.DatiRicezione.Count;
                int fCollegateLength  = body.DatiGenerali.DatiFattureCollegate.Count;
                if (acquistoLength > 0 ||
                    contrattoLength > 0 ||
                    convenzioneLength > 0 ||
                    ricezioneLength > 0 ||
                    fCollegateLength > 0
                    )
                {
                    this.Dati = new List <DatiModel>();
                }

                foreach (var acquisto in body.DatiGenerali.DatiOrdineAcquisto)
                {
                    this.Dati.Add(new DatiModel(acquisto));
                }

                foreach (var contratto in body.DatiGenerali.DatiContratto)
                {
                    this.Dati.Add(new DatiModel(contratto));
                }

                foreach (var convenzione in body.DatiGenerali.DatiConvenzione)
                {
                    this.Dati.Add(new DatiModel(convenzione));
                }

                foreach (var ricezione in body.DatiGenerali.DatiRicezione)
                {
                    this.Dati.Add(new DatiModel(ricezione));
                }

                foreach (var collegate in body.DatiGenerali.DatiFattureCollegate)
                {
                    this.Dati.Add(new DatiModel(collegate));
                }

                //---End DatiModel---

                this.DatiPagamento = new List <DatiPagamentoModel>();
                int pagamentoLength = body.DatiPagamento.Count;
                if (pagamentoLength > 0)
                {
                    foreach (var pagamento in body.DatiPagamento)
                    {
                        this.DatiPagamento.Add(new DatiPagamentoModel(pagamento));
                    }
                }
                else
                {
                    var defaultDettaglio = new DettaglioPagamentoModel
                                           (
                        "MP05",
                        body.DatiGenerali.DatiGeneraliDocumento.ImportoTotaleDocumento ?? default(int),
                        body.DatiGenerali.DatiGeneraliDocumento.Data
                                           );

                    var defaultPagamento = new DatiPagamentoModel
                                           (
                        "TP02",
                        defaultDettaglio
                                           );

                    this.DatiPagamento.Add(defaultPagamento);
                }

                this.DatiPagamento[0].Active = true;

                int riepilogoLength = body.DatiBeniServizi.DatiRiepilogo.Count;
                if (riepilogoLength > 0)
                {
                    this.DatiRiepilogo = new List <DatiRiepilogoModel>();
                }
                foreach (var riepilogo in body.DatiBeniServizi.DatiRiepilogo)
                {
                    this.DatiRiepilogo.Add(new DatiRiepilogoModel(riepilogo));
                }

                int salLength = body.DatiGenerali.DatiSAL.Count;
                if (salLength > 0)
                {
                    this.DatiSAL = new List <DatiSALModel>();
                }
                foreach (var sal in body.DatiGenerali.DatiSAL)
                {
                    this.DatiSAL.Add(new DatiSALModel(sal));
                }

                int lineeLength = body.DatiBeniServizi.DettaglioLinee.Count;
                if (lineeLength > 0)
                {
                    this.DettaglioLinee = new List <DettaglioLineeModel>();
                }
                foreach (var linea in body.DatiBeniServizi.DettaglioLinee)
                {
                    this.DettaglioLinee.Add(new DettaglioLineeModel(linea));
                }

                int ritenutaLength = body.DatiGenerali.DatiGeneraliDocumento.DatiRitenuta.Count;
                if (ritenutaLength > 0)
                {
                    this.DatiRitenuta = new List <DatiRitenutaModel>();

                    foreach (var r in body.DatiGenerali.DatiGeneraliDocumento.DatiRitenuta)
                    {
                        this.DatiRitenuta.Add(new DatiRitenutaModel(r));
                    }
                }

                DettaglioPagamento dettaglioPagamento = new DettaglioPagamento();
                if (body.DatiPagamento.Count > 0 && body.DatiPagamento[0].DettaglioPagamento.Count > 0)
                {
                    dettaglioPagamento = body.DatiPagamento[0].DettaglioPagamento[0];
                }

                this.CedentePrestatore = new CliForModel(header.CedentePrestatore, header.Rappresentante, dettaglioPagamento);

                this.CessionarioCommittente = new CliForModel(header.CessionarioCommittente);

                if (body.DatiGenerali.DatiTrasporto.DatiAnagraficiVettore != null)
                {
                    this.Vettore = new CliForModel(body.DatiGenerali.DatiTrasporto.DatiAnagraficiVettore);
                }
            }
        }
예제 #3
0
        private PdfPTable GeneratePDFHeader(FatturaElettronicaHeader _FatturaElettronicaHeader)
        {
            PdfPTable _PDFSenderTable   = new PdfPTable(1);
            PdfPTable _PDFRecieverTable = new PdfPTable(1);

            PdfPCell _Sender = new PdfPCell(new Phrase(LocalisedString.Sender, _TitleHelvetica))
            {
                HorizontalAlignment = Element.ALIGN_CENTER,
                VerticalAlignment   = Element.ALIGN_CENTER,
                BackgroundColor     = _HeaderColour,
                Border      = Rectangle.NO_BORDER,
                FixedHeight = 20.0f
            };

            PdfPCell _Reciever = new PdfPCell(new Paragraph(LocalisedString.Reciever, _TitleHelvetica))
            {
                HorizontalAlignment = Element.ALIGN_CENTER,
                VerticalAlignment   = Element.ALIGN_CENTER,
                BackgroundColor     = _HeaderColour,
                Border      = Rectangle.NO_BORDER,
                FixedHeight = 20.0f
            };


            _PDFSenderTable.DefaultCell.Border   = Rectangle.NO_BORDER;
            _PDFRecieverTable.DefaultCell.Border = Rectangle.NO_BORDER;

            _PDFSenderTable.AddCell(_Sender);
            _PDFRecieverTable.AddCell(_Reciever);

            InsertSenderHeaderData(_PDFSenderTable, _FatturaElettronicaHeader.CedentePrestatore);

            InsertRecieverHeaderData(_PDFRecieverTable,
                                     _FatturaElettronicaHeader.CessionarioCommittente,
                                     _FatturaElettronicaHeader.DatiTrasmissione.CodiceDestinatario,
                                     _FatturaElettronicaHeader.DatiTrasmissione.PECDestinatario);


            PdfPCell _PDFHeaderSenderCell = new PdfPCell(_PDFSenderTable)
            {
                BorderWidth = 1.5f,
                BorderColor = _BorderColour
            };

            PdfPCell _PDFHeaderReciverCell = new PdfPCell(_PDFRecieverTable)
            {
                BorderWidth = 1.5f,
                BorderColor = _BorderColour
            };

            PdfPTable _PDFHeaderContainer = new PdfPTable(3);

            _PDFHeaderContainer.WidthPercentage     = 100;
            _PDFHeaderContainer.HorizontalAlignment = Element.ALIGN_LEFT;
            _PDFHeaderContainer.DefaultCell.Border  = Rectangle.NO_BORDER;


            _PDFHeaderContainer.SetWidths(new float[] { 12f, 1f, 12f });

            _PDFHeaderContainer.AddCell(_PDFHeaderSenderCell);
            _PDFHeaderContainer.AddCell(new PdfPCell( )
            {
                Border = Rectangle.NO_BORDER
            });
            _PDFHeaderContainer.AddCell(_PDFHeaderReciverCell);


            return(_PDFHeaderContainer);
        }
예제 #4
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);
        }