public void RettificaAllowedWithSingleDocument00447()
        {
            challenge.Rettifica.Posizione = 1;
            var r = validator.Validate(challenge);

            Assert.IsNotNull(r.Errors.FirstOrDefault(x => x.PropertyName == "Rettifica" && x.ErrorCode == "00447"));

            var cedentePrestatore = new CedentePrestatore();

            challenge.CedentePrestatore.AddRange(Enumerable.Repeat(cedentePrestatore, 2));
            r = validator.Validate(challenge);
            Assert.IsNotNull(r.Errors.FirstOrDefault(x => x.PropertyName == "Rettifica" && x.ErrorCode == "00447"));

            challenge.CedentePrestatore.Clear();
            challenge.CedentePrestatore.Add(cedentePrestatore);
            r = validator.Validate(challenge);
            Assert.IsNotNull(r.Errors.FirstOrDefault(x => x.PropertyName == "Rettifica" && x.ErrorCode == "00447"));

            var datiFatturaBody = new Spesometro.FattureRicevute.DatiFatturaBody();

            challenge.CedentePrestatore[0].DatiFatturaBody.AddRange(Enumerable.Repeat(datiFatturaBody, 2));
            r = validator.Validate(challenge);
            Assert.IsNotNull(r.Errors.FirstOrDefault(x => x.PropertyName == "Rettifica" && x.ErrorCode == "00447"));

            challenge.Rettifica.Posizione = 0;
            challenge.CedentePrestatore[0].DatiFatturaBody.Clear();
            challenge.CedentePrestatore[0].DatiFatturaBody.Add(datiFatturaBody);
            r = validator.Validate(challenge);
            Assert.IsNull(r.Errors.FirstOrDefault(x => x.PropertyName == "Rettifica" && x.ErrorCode == "00447"));
        }
Esempio n. 2
0
        public CliForModel(CedentePrestatore cedentePrestatore, RappresentanteFiscale rappresentante, DettaglioPagamento dettaglioPagamento)
        {
            this.IdCodice      = cedentePrestatore.DatiAnagrafici.IdFiscaleIVA.IdCodice;
            this.IdPaese       = cedentePrestatore.DatiAnagrafici.IdFiscaleIVA.IdPaese;
            this.CodiceFiscale = cedentePrestatore.DatiAnagrafici.CodiceFiscale;
            this.Denominazione = cedentePrestatore.DatiAnagrafici.Anagrafica.Denominazione;
            this.Nome          = cedentePrestatore.DatiAnagrafici.Anagrafica.Nome;
            this.Cognome       = cedentePrestatore.DatiAnagrafici.Anagrafica.Cognome;
            this.Titolo        = cedentePrestatore.DatiAnagrafici.Anagrafica.Titolo;
            this.CodEORI       = cedentePrestatore.DatiAnagrafici.Anagrafica.CodEORI;

            this.AlboProfessionale  = cedentePrestatore.DatiAnagrafici.AlboProfessionale;
            this.ProvinciaAlbo      = cedentePrestatore.DatiAnagrafici.ProvinciaAlbo;
            this.DataIscrizioneAlbo = cedentePrestatore.DatiAnagrafici.DataIscrizioneAlbo;

            this.RegimeFiscale = cedentePrestatore.DatiAnagrafici.RegimeFiscale;
            this.RiferimentoAmministrazione = cedentePrestatore.RiferimentoAmministrazione;

            this.Ufficio           = cedentePrestatore.IscrizioneREA.Ufficio;
            this.NumeroREA         = cedentePrestatore.IscrizioneREA.NumeroREA;
            this.CapitaleSociale   = cedentePrestatore.IscrizioneREA.CapitaleSociale;
            this.SocioUnico        = cedentePrestatore.IscrizioneREA.SocioUnico;
            this.StatoLiquidazione = cedentePrestatore.IscrizioneREA.StatoLiquidazione;

            if (rappresentante != null)
            {
                this.RappresentanteFiscale = new CliForModel(rappresentante);
            }

            if (cedentePrestatore.Contatti != null &&
                (cedentePrestatore.Contatti.Telefono != null ||
                 cedentePrestatore.Contatti.Fax != null ||
                 cedentePrestatore.Contatti.Email != null))
            {
                this.Contatti = new List <ContattiModel>();
                this.Contatti.Add(new ContattiModel(cedentePrestatore.Contatti));
            }

            if (cedentePrestatore.Sede != null && cedentePrestatore.Sede.CAP != null)
            {
                this.Sedi = new List <SediModel>();
                this.Sedi.Add(new SediModel(cedentePrestatore.Sede));
            }

            if (cedentePrestatore.StabileOrganizzazione != null && cedentePrestatore.StabileOrganizzazione.CAP != null)
            {
                if (this.Sedi == null)
                {
                    this.Sedi = new List <SediModel>();
                }
                this.Sedi.Add(new SediModel(cedentePrestatore.StabileOrganizzazione));
            }

            if (dettaglioPagamento != null && dettaglioPagamento.IBAN != null)
            {
                this.ContiBancari = new List <ContiBancariModel>();
                this.ContiBancari.Add(new ContiBancariModel(dettaglioPagamento));
            }
        }
        public void CedentePrestatoreCollectionMinMaxItems()
        {
            const int max = 1000;
            var       obj = new CedentePrestatore();

            challenge.CedentePrestatore.AddRange(Enumerable.Repeat(obj, max));

            var r = validator.Validate(challenge);

            Assert.IsNull(r.Errors.FirstOrDefault(x => x.PropertyName == "CedentePrestatore"));

            challenge.CedentePrestatore.Add(new CedentePrestatore());
            r = validator.Validate(challenge);
            Assert.IsNotNull(r.Errors.FirstOrDefault(x => x.PropertyName == "CedentePrestatore"));
        }
Esempio n. 4
0
        private void InsertSenderHeaderData(PdfPTable _PDFSenderTable, CedentePrestatore _FatturaSenderHeader)
        {
            _PDFSenderTable.AddCell(new Phrase(TryGetParticipantName(_FatturaSenderHeader.DatiAnagrafici.Anagrafica), _TitleHelvetica));                                                                                           // First address line, Sender Name
            _PDFSenderTable.AddCell(new Phrase(_FatturaSenderHeader.Sede.Indirizzo + " " + _FatturaSenderHeader.Sede.NumeroCivico, _BodyHelvetica));                                                                               // Second address line
            _PDFSenderTable.AddCell(new Phrase(_FatturaSenderHeader.Sede.CAP + " " + _FatturaSenderHeader.Sede.Comune + " (" + _FatturaSenderHeader.Sede.Provincia + ") - " + _FatturaSenderHeader.Sede.Nazione, _BodyHelvetica)); // Third address line
            _PDFSenderTable.AddCell(new Phrase("P.IVA: " + _FatturaSenderHeader.DatiAnagrafici.IdFiscaleIVA.IdPaese + " " + _FatturaSenderHeader.DatiAnagrafici.IdFiscaleIVA.IdCodice, _BodyHelvetica));                           // Fiscal ID Code + Fiscal ID
            _PDFSenderTable.AddCell(new Phrase("C.F.: " + _FatturaSenderHeader.DatiAnagrafici.CodiceFiscale, _BodyHelvetica));                                                                                                     // Fiscal Code
            _PDFSenderTable.AddCell(new Paragraph(" ", _BodyHelvetica));

            Boolean HasContactHeader = false;

            TryInsertSenderContactData(_PDFSenderTable, LocalisedString.Telephone, _FatturaSenderHeader.Contatti.Telefono, ref HasContactHeader);
            TryInsertSenderContactData(_PDFSenderTable, LocalisedString.Fax, _FatturaSenderHeader.Contatti.Fax, ref HasContactHeader);
            TryInsertSenderContactData(_PDFSenderTable, LocalisedString.Email, _FatturaSenderHeader.Contatti.Email, ref HasContactHeader);
        }
Esempio n. 5
0
        public FatturaPA getFattura(string idamm, string idFattura)
        {
            FatturaPA fattura = new FatturaPA();

            try
            {
                fattura.templateXML = getXmlTemplate(idamm);

                Query query = InitQuery.getInstance().getQuery("S_FATTURAZIONE_GET_FATTURA");
                query.setParam("codice", idFattura);

                string commandText = query.getSQL();
                logger.Debug(commandText);

                int numeroLinea = 1;

                IDataReader reader = ExecuteReader(commandText);

                while (reader.Read())
                {
                    fattura.formatoTrasmissione = reader.GetValue(reader.GetOrdinal("TIPOTRACCIATO")).ToString();
                    fattura.pecDestinatario     = reader.GetValue(reader.GetOrdinal("PECDESTINATARIO")).ToString();

                    fattura.trasmittenteIdPaese  = reader.GetValue(reader.GetOrdinal("TRASM_IDPAESE")).ToString();
                    fattura.trasmittenteIdCodice = reader.GetValue(reader.GetOrdinal("TRASM_CODICE")).ToString();
                    //fattura.codiceIPA = reader.GetValue(reader.GetOrdinal("CODICE_DESTINATARIO")).ToString();
                    fattura.codiceIPA = reader.GetValue(reader.GetOrdinal("CODIPA")).ToString();
                    if (string.IsNullOrEmpty(fattura.codiceIPA))
                    {
                        fattura.codiceIPA = reader.GetValue(reader.GetOrdinal("CODICE_DESTINATARIO")).ToString();
                    }
                    fattura.trasmittenteTelefono = reader.GetValue(reader.GetOrdinal("TRASM_TELEFONO")).ToString();
                    fattura.trasmittenteMail     = reader.GetValue(reader.GetOrdinal("TRASM_EMAIL")).ToString();

                    #region Cedente

                    CedentePrestatore ced = new CedentePrestatore();
                    ced.idPaese           = reader.GetValue(reader.GetOrdinal("CEDENTE_IDPAESE")).ToString();
                    ced.idCodice          = reader.GetValue(reader.GetOrdinal("CEDENTE_CODICE")).ToString();
                    ced.denominazione     = reader.GetValue(reader.GetOrdinal("CEDENTE_DESCR")).ToString();
                    ced.indirizzo         = reader.GetValue(reader.GetOrdinal("CEDENTE_SEDE_INDIRIZZO")).ToString();
                    ced.numCivico         = reader.GetValue(reader.GetOrdinal("CEDENTE_SEDE_NUMCIVICO")).ToString();
                    ced.CAP               = reader.GetValue(reader.GetOrdinal("CEDENTE_SEDE_CAP")).ToString();
                    ced.comune            = reader.GetValue(reader.GetOrdinal("CEDENTE_SEDE_COMUNE")).ToString();
                    ced.provincia         = reader.GetValue(reader.GetOrdinal("CEDENTE_SEDE_PROVINCIA")).ToString();
                    ced.nazione           = reader.GetValue(reader.GetOrdinal("CEDENTE_SEDE_NAZIONE")).ToString();
                    ced.ufficio           = reader.GetValue(reader.GetOrdinal("CEDENTE_UFFICIO")).ToString();
                    ced.numeroREA         = reader.GetValue(reader.GetOrdinal("CEDENTE_NUMEROREA")).ToString();
                    ced.capitaleSociale   = reader.GetValue(reader.GetOrdinal("CEDENTE_CAPITALESOC")).ToString().Replace(',', '.');
                    ced.socioUnico        = reader.GetValue(reader.GetOrdinal("CEDENTE_SOCIOUNICO")).ToString();
                    ced.statoLiquidazione = reader.GetValue(reader.GetOrdinal("CEDENTE_STATOLIQUIDAZIONE")).ToString();

                    fattura.cedente = ced;

                    #endregion

                    #region Cessionario

                    CessionarioCommittente cess = new CessionarioCommittente();
                    cess.idPaese   = reader.GetValue(reader.GetOrdinal("CESSIONARIO_IDPAESE")).ToString();
                    cess.idCodiceI = reader.GetValue(reader.GetOrdinal("CESSIONARIO_IVA")).ToString();

                    cess.idCodiceF = reader.GetValue(reader.GetOrdinal("CESSIONARIO_FISCALE")).ToString();

                    cess.denominazione = reader.GetValue(reader.GetOrdinal("CESSIONARIO_DESCR")).ToString();
                    cess.indirizzo     = reader.GetValue(reader.GetOrdinal("CESSIONARIO_SEDE_INDIRIZZO")).ToString();
                    cess.numCivico     = reader.GetValue(reader.GetOrdinal("CESSIONARIO_SEDE_NUMCIVICO")).ToString();
                    cess.CAP           = reader.GetValue(reader.GetOrdinal("CESSIONARIO_SEDE_CAP")).ToString();
                    cess.comune        = reader.GetValue(reader.GetOrdinal("CESSIONARIO_SEDE_COMUNE")).ToString();
                    cess.provincia     = reader.GetValue(reader.GetOrdinal("CESSIONARIO_SEDE_PROVINCIA")).ToString();
                    cess.nazione       = reader.GetValue(reader.GetOrdinal("CESSIONARIO_SEDE_NAZIONE")).ToString();

                    fattura.cessionario = cess;

                    #endregion

                    fattura.tipoDoc          = reader.GetValue(reader.GetOrdinal("TIPO_DOC")).ToString();
                    fattura.divisa           = reader.GetValue(reader.GetOrdinal("DIVISA")).ToString();
                    fattura.dataDoc          = Convert.ToDateTime(reader.GetValue(reader.GetOrdinal("DATA_DOC")).ToString());
                    fattura.numeroFattura    = reader.GetValue(reader.GetOrdinal("NUMERO_FATTURA")).ToString();
                    fattura.importoTotaleDoc = reader.GetValue(reader.GetOrdinal("TOTALE_IMPORTO_DOC")).ToString();
                    //fattura.idOrdineAcquisto = reader.GetValue(reader.GetOrdinal("ORDINE_ACQUISTO_IDDOC")).ToString();
                    //fattura.CUPOrdineAcquisto = reader.GetValue(reader.GetOrdinal("ORDINE_ACQUISTO_CUP")).ToString();
                    //fattura.CIGOrdineAcquisto = reader.GetValue(reader.GetOrdinal("ORDINE_ACQUISTO_CIG")).ToString();
                    fattura.idContratto  = reader.GetValue(reader.GetOrdinal("CONTRATTO_IDDOC")).ToString();
                    fattura.CUPContratto = reader.GetValue(reader.GetOrdinal("CONTRATTO_CUP")).ToString();
                    fattura.CIGContratto = reader.GetValue(reader.GetOrdinal("CONTRATTO_CIG")).ToString();

                    fattura.aliquotaIVA       = reader.GetValue(reader.GetOrdinal("RIEPILOGO_ALIQUOTA_IVA")).ToString();
                    fattura.imponibileImporto = reader.GetValue(reader.GetOrdinal("RIEPILOGO_IMPONIBILE")).ToString();
                    fattura.imposta           = reader.GetValue(reader.GetOrdinal("RIEPILOGO_IMPOSTA")).ToString();

                    fattura.pagamentoModalita       = reader.GetValue(reader.GetOrdinal("MODALITA_PAGAMENTO")).ToString();
                    fattura.pagamentoImporto        = reader.GetValue(reader.GetOrdinal("IMPORTO_PAGAMENTO")).ToString();
                    fattura.dataRifTerminiPagamento = Convert.ToDateTime(reader.GetValue(reader.GetOrdinal("DATA_RIF_TERMINI_PAGAM")).ToString());
                    //fattura.giorniTerminiPagamento = reader.GetValue(reader.GetOrdinal("GIORNI_TERMINI_PAGAMENTO")).ToString();

                    string dataScadenzaPagamento = reader.GetValue(reader.GetOrdinal("DATA_SCADENZA_PAGAMENTO")).ToString();
                    if (!string.IsNullOrEmpty(dataScadenzaPagamento))
                    {
                        fattura.dataScadenzaPagamento = Convert.ToDateTime(reader.GetValue(reader.GetOrdinal("DATA_SCADENZA_PAGAMENTO")).ToString());
                    }


                    fattura.istitutoFinanziario = reader.GetValue(reader.GetOrdinal("ISTITUTO_FINANZIARIO")).ToString();
                    fattura.IBAN = reader.GetValue(reader.GetOrdinal("IBAN")).ToString();
                    fattura.BIC  = reader.GetValue(reader.GetOrdinal("BIC")).ToString();

                    fattura.esigibilitaIVA = reader.GetValue(reader.GetOrdinal("ESIGIBILITA")).ToString();

                    fattura.codiceSipaiProgetto = fattura.idOrdineAcquisto;                                              // reader.GetValue(reader.GetOrdinal("ORDINE_ACQUISTO_IDDOC")).ToString(); //new //duplicato chiave 2.1.2.2
                    fattura.codiceSottoprogetto = reader.GetValue(reader.GetOrdinal("CODICE_SOTTOPROGETTO")).ToString(); //new
                    fattura.codiceComponente    = reader.GetValue(reader.GetOrdinal("CODICE_COMPONENTE")).ToString();    //new
                    fattura.dipartimentoMef     = reader.GetValue(reader.GetOrdinal("DIPARTIMENTO_MEF")).ToString();     //new


                    // LINEE FATTURA

                    DatiBeniServizi line = new DatiBeniServizi();

                    //line.numeroLinea = reader.GetValue(reader.GetOrdinal("NUMERO_LINEA")).ToString();
                    string numeroLineaSAP = reader.GetValue(reader.GetOrdinal("NUMERO_LINEA")).ToString();
                    line.numeroLinea    = numeroLinea.ToString();
                    line.numeroLineaSAP = numeroLineaSAP;
                    line.descrizione    = ParseDescrizione(reader.GetValue(reader.GetOrdinal("DESCRIZIONE")).ToString());
                    line.quantita       = reader.GetValue(reader.GetOrdinal("QUANTITA")).ToString();
                    line.unitaMisura    = reader.GetValue(reader.GetOrdinal("UNITA_MISURA")).ToString();
                    line.prezzoUnitario = reader.GetValue(reader.GetOrdinal("PREZZO_UNITARIO")).ToString();
                    line.prezzoTotale   = reader.GetValue(reader.GetOrdinal("PREZZO_TOTALE")).ToString();
                    line.aliquotaIVA    = reader.GetValue(reader.GetOrdinal("ALIQUOTA_IVA")).ToString();

                    string dataInizio = reader.GetValue(reader.GetOrdinal("DATA_INIZIO_VALIDITA")).ToString().Trim();
                    string dataFine   = reader.GetValue(reader.GetOrdinal("DATA_FINE_VALIDITA")).ToString().Trim();


                    if (!string.IsNullOrEmpty(dataInizio))
                    {
                        if (!dataInizio.Contains("-"))
                        {
                            dataInizio = dataInizio.Substring(0, 4) + "-" + dataInizio.Substring(4, 2) + "-" + dataInizio.Substring(6, 2);
                        }
                        DateTime dataInizioDate;
                        if (DateTime.TryParse(dataInizio, out dataInizioDate))
                        {
                            line.dataInizioPeriodo = dataInizioDate;
                        }
                        else
                        {
                            line.dataInizioPeriodo = (DateTime?)null;
                        }
                    }
                    else
                    {
                        line.dataInizioPeriodo = (DateTime?)null;
                    }

                    if (!string.IsNullOrEmpty(dataFine))
                    {
                        if (!dataFine.Contains("-"))
                        {
                            dataFine = dataFine.Substring(0, 4) + "-" + dataFine.Substring(4, 2) + "-" + dataFine.Substring(6, 2);
                        }
                        DateTime dataFineDate;
                        if (DateTime.TryParse(dataFine, out dataFineDate))
                        {
                            line.dataFinePeriodo = dataFineDate;
                        }
                        else
                        {
                            line.dataFinePeriodo = (DateTime?)null;
                        }
                    }
                    else
                    {
                        line.dataFinePeriodo = (DateTime?)null;
                    }

                    //line.dataInizioPeriodo = string.IsNullOrEmpty(dataInizio) ? (DateTime?)null : Convert.ToDateTime(dataInizio); //new
                    //line.dataFinePeriodo = string.IsNullOrEmpty(dataFine)? (DateTime?)null : Convert.ToDateTime(dataFine);  //new
                    line.obiettivoFase = reader.GetValue(reader.GetOrdinal("OBIETTIVO_FASE")).ToString();  //new

                    DatiBeniServizi.DatiGestionali altriDati = new DatiBeniServizi.DatiGestionali();
                    altriDati.tipoDati = reader.GetValue(reader.GetOrdinal("PARTE_FISSA_O_VARIABILE")).ToString();  //new

                    if (!string.IsNullOrEmpty(altriDati.tipoDati.Trim()))
                    {
                        line.altriDatiGestionali.Add(altriDati);
                    }

                    fattura.servizi.Add(line);

                    // DATI ORDINE ACQUISTO
                    // SOLO PER SOGEI - IDENTIFICO CON IL CAMPO PARTITA IVA
                    if (fattura.cessionario != null && !string.IsNullOrEmpty(fattura.cessionario.idCodiceI) && fattura.cessionario.idCodiceI.Contains("01043931003"))
                    {
                        DatiOrdineAcquisto ordineLine = new DatiOrdineAcquisto();
                        ordineLine.RiferimentoNumeroLinea = numeroLinea.ToString();
                        ordineLine.NumeroLineaSAP         = numeroLineaSAP;
                        ordineLine.IdDocumento            = reader.GetValue(reader.GetOrdinal("ORDINE_ACQUISTO_IDDOC")).ToString();
                        ordineLine.NumItem = reader.GetValue(reader.GetOrdinal("CODICE_SOTTOPROGETTO")).ToString();
                        ordineLine.CodiceCommessaConvenzione = reader.GetValue(reader.GetOrdinal("CODICE_COMPONENTE")).ToString();
                        ordineLine.CodiceCUP = reader.GetValue(reader.GetOrdinal("ORDINE_ACQUISTO_CUP")).ToString();
                        ordineLine.CodiceCIG = reader.GetValue(reader.GetOrdinal("ORDINE_ACQUISTO_CIG")).ToString();

                        DateTime dataOrdineAcquisto;
                        DateTime.TryParse(reader.GetValue(reader.GetOrdinal("DATA_ORDINE_ACQUISTO")).ToString(), out dataOrdineAcquisto);
                        if (dataOrdineAcquisto != null)
                        {
                            ordineLine.Data = dataOrdineAcquisto;
                        }

                        fattura.ordineAcquisto.Add(ordineLine);
                    }
                    // FATTURA NON SOGEI - INSERISCO LE INFORMAZIONI IN TESTATA
                    else
                    {
                        fattura.idOrdineAcquisto  = reader.GetValue(reader.GetOrdinal("ORDINE_ACQUISTO_IDDOC")).ToString();
                        fattura.CUPOrdineAcquisto = reader.GetValue(reader.GetOrdinal("ORDINE_ACQUISTO_CUP")).ToString();
                        fattura.CIGOrdineAcquisto = reader.GetValue(reader.GetOrdinal("ORDINE_ACQUISTO_CIG")).ToString();
                    }

                    numeroLinea++;
                }

                if (!reader.IsClosed)
                {
                    reader.Close();
                }

                // estraggo i parametri specifici dell'amministrazione
                string par = getParametriFatturaAmministrazione(idamm);
                if (!string.IsNullOrEmpty(par))
                {
                    //fattura.formatoTrasmissione = par.Split('§')[0];
                    if (string.IsNullOrEmpty(fattura.esigibilitaIVA))
                    {
                        fattura.esigibilitaIVA = par.Split('§')[1];
                    }
                    fattura.pagamentoCondizioni = par.Split('§')[2];
                }
                else
                {
                    throw new Exception("Impossibile recuperare i parametri dell'amministrazione");
                }


                return(fattura);
            }
            catch (Exception ex)
            {
                logger.Debug(ex);
                throw new Exception(ex.Message);
            }
        }
 public FattureEmesse()
 {
     _cedentePrestatore      = new CedentePrestatore();
     _cessionarioCommittente = new List <CessionarioCommittente>();
     _rettifica = new Rettifica();
 }
Esempio n. 7
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);
        }