예제 #1
0
        public static DettaglioPagamentoType GetDettaglioPagamentoType(IFatturaDataProvider data)
        {
            DettaglioPagamentoType result = new DettaglioPagamentoType();

            //result.ABI = "";
            //result.Beneficiario = "";
            //result.BIC = "";
            //result.CAB = "";
            //result.CFQuietanzante = "";
            //result.CodicePagamento = "";
            //result.CodUfficioPostale = "";
            //result.CognomeQuietanzante = "";
            //result.DataDecorrenzaPenale = new DateTime();
            //result.DataDecorrenzaPenaleSpecified = false;
            //result.DataLimitePagamentoAnticipato = new DateTime();
            //result.DataLimitePagamentoAnticipatoSpecified = false;
            //result.DataRiferimentoTerminiPagamento = new DateTime();
            //result.DataRiferimentoTerminiPagamentoSpecified = false;
            //result.DataScadenzaPagamento = new DateTime();
            //result.DataScadenzaPagamentoSpecified = false;
            //result.GiorniTerminiPagamento = "3";
            result.IBAN = data.Iban;
            //result.ImportoPagamento = 123;
            //result.IstitutoFinanziario = "";
            //result.ModalitaPagamento = ModalitaPagamentoType.MP04;
            //result.NomeQuietanzante = "";
            //result.PenalitaPagamentiRitardati = 0;
            //result.PenalitaPagamentiRitardatiSpecified = false;
            //result.ScontoPagamentoAnticipato = 0;
            //result.ScontoPagamentoAnticipatoSpecified = false;
            //result.TitoloQuietanzante = "";

            return(result);
        }
예제 #2
0
        public static DatiGeneraliDocumentoType GetDatiGeneraliDocumento(IFatturaDataProvider data)
        {
            DatiGeneraliDocumentoType result = new DatiGeneraliDocumentoType();

            result.TipoDocumento = data.TipoDocumento;
            result.Divisa        = data.Valuta;
            result.Data          = data.DataEmissioneFattura.Value;
            result.Numero        = data.NumeroProgressivo.ToString();
            result.ImportoTotaleDocumentoSpecified = true;
            result.ImportoTotaleDocumento          = data.TotaleDeiTotali;
            result.Causale = new List <string>()
            {
                data.Causale
            }.ToArray();

            //result.DatiBollo = new DatiBolloType() { BolloVirtuale = BolloVirtualeType.SI, ImportoBollo = 0 };
            //result.DatiCassaPrevidenziale = new DatiCassaPrevidenzialeType[0];
            //result.DatiRitenuta = new DatiRitenutaType() { AliquotaRitenuta = 22, CausalePagamento = CausalePagamentoType.D, ImportoRitenuta = 0, TipoRitenuta = TipoRitenutaType.RT01 };
            //result.Arrotondamento = 0;
            //result.ArrotondamentoSpecified = false;
            //result.Art73 = Art73Type.SI;
            //result.Art73Specified = false;

            return(result);
        }
예제 #3
0
        public static DettaglioPagamentoType[] GetDettaglioPagamentoList(IFatturaDataProvider data)
        {
            List <DettaglioPagamentoType> result = new List <DettaglioPagamentoType>();

            result.Add(GetDettaglioPagamentoType(data));

            return(result.ToArray());
        }
예제 #4
0
        public static FatturaElettronicaBodyType[] GetFatturaElettronicaBodyList(IFatturaDataProvider data)
        {
            List <FatturaElettronicaBodyType> result = new List <FatturaElettronicaBodyType>();

            result.Add(GetFatturaElettronicaBody(data));

            return(result.ToArray());
        }
예제 #5
0
        public static DatiRiepilogoType[] GetDatiRiepilogoList(IFatturaDataProvider data)
        {
            List <DatiRiepilogoType> result = new List <DatiRiepilogoType>();

            result.Add(GetDatiRiepilogoType(data));

            return(result.ToArray());
        }
예제 #6
0
        public static DatiBeniServiziType GetDatiBeniServizi(IFatturaDataProvider data)
        {
            DatiBeniServiziType result = new DatiBeniServiziType();

            result.DatiRiepilogo  = GetDatiRiepilogoList(data);
            result.DettaglioLinee = GetDettaglioLineeList(data.RigheFattura);

            return(result);
        }
예제 #7
0
        public static DatiPagamentoType GetDatiPagamentoType(IFatturaDataProvider data)
        {
            DatiPagamentoType result = new DatiPagamentoType();

            result.CondizioniPagamento = CondizioniPagamentoType.TP01;
            result.DettaglioPagamento  = GetDettaglioPagamentoList(data);

            return(result);
        }
예제 #8
0
        public static FatturaElettronicaType GetFatturaOrdinaria(IFatturaDataProvider data)
        {
            FatturaElettronicaType result = new FatturaElettronicaType();

            result.FatturaElettronicaHeader = GetFatturaElettronicaHeader(data);
            result.FatturaElettronicaBody   = GetFatturaElettronicaBodyList(data);
            result.versione = FormatoTrasmissioneType.FPR12;

            return(result);
        }
예제 #9
0
        public static CessionarioCommittenteType GetCessionarioCommittente(IFatturaDataProvider data)
        {
            CessionarioCommittenteType result = new CessionarioCommittenteType();

            result.DatiAnagrafici = GetDatiAnagraficiCessionario(data);
            result.Sede           = GetIndirizzoType(data.CessionarioCAP, data.CessionarioCitta, data.CessionarioSedeIndirizzo, data.CessionarioNazione, data.CessionarioSedeCivico, data.CessionarioProvincia);

            //result.RappresentanteFiscale = GetRappresentanteFiscaleCessionarioType();
            //result.StabileOrganizzazione = GetIndirizzoType("", "", "", "", "", "");

            return(result);
        }
예제 #10
0
        public static FatturaElettronicaBodyType GetFatturaElettronicaBody(IFatturaDataProvider data)
        {
            FatturaElettronicaBodyType result = new FatturaElettronicaBodyType();

            result.DatiGenerali = GetDatiGeneraliType(data);

            result.DatiBeniServizi = GetDatiBeniServizi(data);

            result.DatiPagamento = GetDatiPagamentoTypeList(data);
            //result.Allegati = new AllegatiType[0];
            //result.DatiVeicoli = GetDatiVeicolo();

            return(result);
        }
예제 #11
0
        public static CedentePrestatoreType GetCedentePrestatore(IFatturaDataProvider data)
        {
            CedentePrestatoreType result = new CedentePrestatoreType();

            result.DatiAnagrafici = GetDatiAnagraficiCedente(data);
            result.Sede           = GetIndirizzoType(data.CedenteCAP, data.CedenteCitta, data.CedenteIndirizzo, data.CedenteCodicePaese, data.CedenteCivico.ToString(), data.CedenteProvincia);

            //result.Contatti = GetContattiType();
            //result.IscrizioneREA = GetIscrizioneREA();
            //result.RiferimentoAmministrazione = "";
            //result.StabileOrganizzazione = GetIndirizzoType("", "", "", "", "", "");

            return(result);
        }
예제 #12
0
        public static DatiTrasmissioneType GetDatiTrasmissione(IFatturaDataProvider data)
        {
            DatiTrasmissioneType result = new DatiTrasmissioneType();

            result.CodiceDestinatario  = data.CodiceDestinatario;
            result.FormatoTrasmissione = data.FormatoTrasmissione;
            result.IdTrasmittente      = GetIdFiscale(data.CedentePIva, data.CedenteCodicePaese);
            result.ProgressivoInvio    = data.NumeroProgressivo.ToString();

            //result.ContattiTrasmittente = GetContattiTrasmittenteType();
            //result.PECDestinatario = data.PECDestinatario;

            return(result);
        }
예제 #13
0
        public static FatturaElettronicaHeaderType GetFatturaElettronicaHeader(IFatturaDataProvider data)
        {
            FatturaElettronicaHeaderType result = new FatturaElettronicaHeaderType();

            result.DatiTrasmissione       = GetDatiTrasmissione(data);
            result.CedentePrestatore      = GetCedentePrestatore(data);
            result.CessionarioCommittente = GetCessionarioCommittente(data);

            //result.RappresentanteFiscale = GetRappresentanteFiscale();
            //result.SoggettoEmittente = SoggettoEmittenteType.CC;
            //result.SoggettoEmittenteSpecified = false;
            //result.TerzoIntermediarioOSoggettoEmittente = GetTerzoInterMediarioOSoggettoEmittente();

            return(result);
        }
예제 #14
0
        public static DatiAnagraficiCedenteType GetDatiAnagraficiCedente(IFatturaDataProvider data)
        {
            DatiAnagraficiCedenteType result = new DatiAnagraficiCedenteType();


            result.Anagrafica    = GetAnagraficaOnlyDenominazioneType(data.CedenteRagSoc);
            result.IdFiscaleIVA  = GetIdFiscale(data.CedentePIva, data.CedenteCodicePaese);
            result.RegimeFiscale = RegimeFiscaleType.RF01;

            //result.CodiceFiscale = "";
            //result.DataIscrizioneAlbo = new DateTime();
            //result.DataIscrizioneAlboSpecified = false;
            //result.NumeroIscrizioneAlbo = "";
            //result.ProvinciaAlbo =
            //result.AlboProfessionale = "";

            return(result);
        }
예제 #15
0
        public static DatiGeneraliType GetDatiGeneraliType(IFatturaDataProvider data)
        {
            DatiGeneraliType result = new DatiGeneraliType();

            result.DatiGeneraliDocumento = GetDatiGeneraliDocumento(data);

            //result.FatturaPrincipale = GetFatturaPrincipale();
            //result.DatiContratto = GetDatiContratto();
            //result.DatiConvenzione = GetDatiConvenzione();
            //result.DatiDDT = GetDatiDDT();
            //result.DatiFattureCollegate = GetDatiFattureCollegate();
            //result.DatiOrdineAcquisto = GetDatiOrdineDiAqcquisto();
            //result.DatiRicezione = GetDatiRicezione();
            //result.DatiSAL = GetDatiSAL();
            //result.DatiTrasporto = GetDatiTrasporto();

            return(result);
        }
예제 #16
0
        public static List <string> Validate(IFatturaDataProvider dataProvider)
        {
            List <string> errors = new List <string>();

            if (!dataProvider.SkipValidation())
            {
                if (dataProvider.CessionarioCAP == null || dataProvider.CessionarioCAP == string.Empty || dataProvider.CessionarioCAP.Length != 5)
                {
                    errors.Add("Il CAP del cliente non è valorizzato");
                }

                if ((dataProvider.CessionarioCodiceFiscale == null || dataProvider.CessionarioCodiceFiscale == string.Empty) && (dataProvider.CessionarioPartitaIva == null || dataProvider.CessionarioPartitaIva == string.Empty))
                {
                    errors.Add("La partita iva o il codice fiscale del cliente non sono valorizzati, valorizzarne almeno uno");
                }
            }

            return(errors);
        }
예제 #17
0
        public static DatiAnagraficiCessionarioType GetDatiAnagraficiCessionario(IFatturaDataProvider data)
        {
            DatiAnagraficiCessionarioType result = new DatiAnagraficiCessionarioType();

            result.Anagrafica = GetAnagraficaOnlyDenominazioneType(data.CessionarioRagSociale);
            //if(!data.SkipValidation()) //skipvalidation è true quando si tratta di un cliente estero
            //{
            if (!string.IsNullOrEmpty(data.CessionarioPartitaIva))
            {
                result.IdFiscaleIVA = GetIdFiscale(data.CessionarioPartitaIva, data.CessionarioCodicePaese);
            }
            else
            {
                result.CodiceFiscale = data.CessionarioCodiceFiscale;
            }
            //}

            return(result);
        }
예제 #18
0
        public static DatiRiepilogoType GetDatiRiepilogoType(IFatturaDataProvider data)
        {
            DatiRiepilogoType result = new DatiRiepilogoType();

            result.ImponibileImporto       = data.Totale;
            result.AliquotaIVA             = data.Aliquota;
            result.Imposta                 = data.TotaleIva;
            result.Natura                  = data.NaturaRiepilogo.HasValue ? data.NaturaRiepilogo.Value : NaturaType.N1;
            result.NaturaSpecified         = data.NaturaSpecified;
            result.EsigibilitaIVA          = EsigibilitaIVAType.I;
            result.EsigibilitaIVASpecified = true;
            result.RiferimentoNormativo    = (data.RiferimentoNormativo.Length > 0) ? data.RiferimentoNormativo : null;

            //result.Arrotondamento = 0;
            //result.ArrotondamentoSpecified = false;
            //result.SpeseAccessorie = 0;
            //result.SpeseAccessorieSpecified = false;

            return(result);
        }