Example #1
0
        public static Rendiconto CreateRendiconto(DTORendiconto dto)
        {
            Rendiconto r = CreateRendiconto(!dto.IsRegionale, dto.Provincia, dto.Anno, dto.Regione);


            r.Proprietario = dto.Proprietario;


            //questa istruzione è neecessaria per calcolare i totali sui conti e
            //non sulle scritture

            r.Bilancio = r.Preventivo;

            BilancioNew b = r.Bilancio;

            //Bilancio p = r.Preventivo;

            foreach (DTORendicontoItem item in dto.Items)
            {
                AbstractBilancio c = b.FindNodeById(item.IdNodo) as ContoPreventivo;
                if (c != null)
                {
                    c.Importo = item.ImportoBilancio;
                }



                //AbstractBilancio c1 = p.FindNodeById(item.IdNodo) as ContoPreventivo;
                //if (c1 != null)
                //    c1.Importo = item.ImportoPreventivo;
            }


            return(r);
        }
Example #2
0
 public BilancioService(BilancioNew bilancio)
 {
     _bilancio = bilancio;
 }
Example #3
0
        public void UpdateSituazioneFinanziariaIniziale(BilancioNew bilancio)
        {
            //_bilancio.Banca1Iniziale.Importo = bilancio.SaldoBanca1;
            //_bilancio.Banca2Iniziale.Importo = bilancio.SaldoBanca2;
            //_bilancio.Banca3Iniziale.Importo = bilancio.SaldoBanca3;

            //_bilancio.CassaIniziale.Importo = bilancio.SaldoCassa;
            //_bilancio.AccantonamentoIniziale.Importo = bilancio.SaldoAccantonamento;


            //devo recuperare dal bilancio la lista di tutti i conti delle attività e delle passivita
            //ed impostare il loro totale come importo nei rispettivi conti del preventivo

            //recupero i conti delle passività
            AbstractBilancio pass = bilancio.Passivita;
            //recupero la lista dei conti delle passività
            IList contiPassivita = bilancio.CreateListaConti(pass.Id);

            //eseguo un ciclo su tali conti per valorizzare le passività del preventivo

            foreach (Conto item in contiPassivita)
            {
                //cerco il conto del preventivo analogo a quello del bilancio
                ContoPreventivo c = _bilancio.FindNodeById(item.Id) as ContoPreventivo;
                if (c != null)
                {
                    c.Importo = item.GetTotal;
                }
            }


            //ora ripeto la stessa cosa per le attività

            //recupero i conti delle passività
            AbstractBilancio att = bilancio.Attivita;
            //recupero la lista dei conti delle passività
            IList contiatt = bilancio.CreateListaConti(att.Id);

            //eseguo un ciclo su tali conti per valorizzare le passività del preventivo

            foreach (Conto item1 in contiatt)
            {
                //cerco il conto del preventivo analogo a quello del bilancio
                ContoPreventivo c1 = _bilancio.FindNodeById(item1.Id) as ContoPreventivo;
                if (c1 != null)
                {
                    c1.Importo = item1.GetTotal;
                }
            }



            double t = _bilancio.GetTotal;

            ContoPreventivo pp = _bilancio.FindNodeById("P.P.1") as ContoPreventivo;

            pp.Importo = pp.Importo - t;

            t = _bilancio.GetTotal;

            RaiseChangeEvent();
        }
Example #4
0
 public PreventivoService(BilancioNew preventivo) : base(preventivo)
 {
 }
Example #5
0
        public void Remove(string idScrittura, AbstractBilancio cp)
        {
            Scrittura s = FindNodeById(idScrittura) as Scrittura;

            if (s == null)
            {
                return;
            }

            //commento la riga di codice che verifica la presenza di una
            //scrittura autogenerata in un conto finanziario. Tale scrittura puo'
            //trovarsi in qualsiasi tipo di conto.
            //if (CalculateTipoConto() == TipoConto.Finanza)
            if (s.AutoGenerated == true)
            {
                throw new InvalidOperationException("Impossibile eliminare una scrittura autogenerata. Per eliminarla procedere alla eliminazione della scrittura dal relativo conto!");
            }


            //se il conto di contropartita risulta nullo vuol dire che devo cercare la scrittura
            //di cotropartita nell'albero delle entrate o delle uscite a seconda che il tipoConto
            //sia entrate o uscite
            //if (contoContropartita != null)
            //{

            BilancioNew bil = cp as BilancioNew;

            if (bil == null)
            {
                throw new InvalidOperationException("Impossibile convertire la contropartita di una partita di giro in un oggetto Bilancio da cui ricercare i conto di contropartita!!!");
            }

            Conto contoContropartita = bil.FindNodeById(s.IdContropartita) as Conto;

            Scrittura s1 = contoContropartita.FindNodeById(s.Id) as Scrittura;

            if (s1 != null)
            {
                contoContropartita.Remove(s1);
            }
            //}
            //else
            //{
            //    TipoConto c = CalculateTipoConto();
            //    //se la contropartita è nulla vuol dire che ho passato l'intero bilancio
            //    Bilancio bil = cp as Bilancio;
            //    // se è nullo c'è un errore imprevisto
            //    if (bil == null)
            //        throw new InvalidOperationException("Impossibile convertire la contropartita di una partita di giro in un oggetto Bilancio da cui ricercare i conto di contropartita!!!");

            //    //*****************************
            //    //definisco l'id della classificazione dove ricercare il conto
            //    string idClassificazione = "";

            //    if (c == TipoConto.Entrate)
            //        //dovro' cercare la scrittura di contropartita nelle spese
            //        idClassificazione = "S";
            //    else
            //        //dovro' cercare la scrittura di contropartita nelle entrate
            //        idClassificazione = "E";



            //    //rimuovo la scrittura previa ricerca
            //    Classificazione clas = bil.FindNodeById(idClassificazione) as Classificazione;
            //    //cerco la scritttura
            //    Scrittura s1 = clas.FindNodeById(s.Id) as Scrittura;
            //    if (s1 != null)
            //    {
            //        //ne recupero il conto padre
            //        Conto cc = clas.FindNodeById(s1.ParentId) as Conto;
            //        //la elimino dal conto
            //        cc.Remove(s1);
            //    }


            //    //*************************************************

            //}



            _sublist.Remove(s);
        }
Example #6
0
        private BilancioNew CreateBilancio()
        {
            BilancioNew b = new BilancioNew();


            Classificazione Attivita = new Classificazione("ATTIVITA'", "A", "");



            Classificazione immobilizzazioni = new Classificazione("Immobilizzazioni", "A.I", "A");

            immobilizzazioni.Add(new Conto("Immobilizzazioni immateriali", "A.I.1", "A.I"));
            immobilizzazioni.Add(new Conto("Immobilizzazioni materiali", "A.I.2", "A.I"));
            immobilizzazioni.Add(new Conto("Immobili", "A.I.3", "A.I"));
            immobilizzazioni.Add(new Conto("Immobilizzazioni finanziarie", "A.I.4", "A.I"));

            Classificazione crediti = new Classificazione("Crediti", "A.C", "A");

            crediti.Add(new Conto("Crediti verso enti bilaterali", "A.C.1", "A.C"));
            crediti.Add(new Conto("Crediti verso altri", "A.C.2", "A.C"));
            crediti.Add(new Conto("Crediti gestione RLST", "A.C.3", "A.C"));


            Classificazione disponibilita = new Classificazione("Disponibilità", "A.D", "A");

            disponibilita.Add(new Conto("Cassa", "A.D.1", "A.D"));
            Classificazione banche = new Classificazione("Depositi bancari e postali", "A.D.2", "A.D");

            banche.Add(new Conto("Banca1", "A.D.2.a", "A.D.2"));
            banche.Add(new Conto("Banca2", "A.D.2.b", "A.D.2"));
            banche.Add(new Conto("Banca3", "A.D.2.c", "A.D.2"));
            banche.Add(new Conto("Banca4", "A.D.2.d", "A.D.2"));
            banche.Add(new Conto("Banca5", "A.D.2.e", "A.D.2"));
            banche.Add(new Conto("Banca6", "A.D.2.f", "A.D.2"));
            disponibilita.Add(banche);



            Attivita.Add(immobilizzazioni);
            Attivita.Add(crediti);
            Attivita.Add(disponibilita);


            b.Add(Attivita);



            Classificazione passivita = new Classificazione("PASSIVITA'", "P", "");



            Classificazione debiti = new Classificazione("Debiti a breve", "P.D", "P");

            debiti.Add(new Conto("Debiti VS Feneal Nazionale", "P.D.1", "P.D"));
            debiti.Add(new Conto("Debiti Vs Feneal Regionali", "P.D.2", "P.D"));
            debiti.Add(new Conto("Debiti Vs C.S.T.", "P.D.3", "P.D"));
            debiti.Add(new Conto("Debiti commerciali", "P.D.4", "P.D"));
            debiti.Add(new Conto("Debiti tributari e previdenziali", "P.D.5", "P.D"));
            debiti.Add(new Conto("Debiti diversi", "P.D.6", "P.D"));
            debiti.Add(new Conto("Debiti anticipazioni Cassa Edile", "P.D.7", "P.D"));



            Classificazione debitilungo = new Classificazione("Debiti a lungo periodo", "P.L", "P");

            debitilungo.Add(new Conto("Mutuo passivo", "P.L.1", "P.L"));



            Classificazione fondi = new Classificazione("Fondi", "P.F", "P");

            fondi.Add(new Conto("Accantonamento TFR", "P.F.1", "P.F"));
            fondi.Add(new Conto("Fondi ammortamento", "P.F.2", "P.F"));
            fondi.Add(new Conto("Altri accantonamenti", "P.F.3", "P.F"));

            Classificazione netto = new Classificazione("Patrimonio sociale", "P.P", "P");

            netto.Add(new Conto("Patrimonio netto", "P.P.1", "P.P"));



            passivita.Add(debiti);
            passivita.Add(debitilungo);
            passivita.Add(fondi);
            passivita.Add(netto);


            b.Add(passivita);



            //****************************************************************************+++
            //******************************************************************************
            //Classificazione finanzaIniziale = new Classificazione("Situazione finanziaria iniziale", "FI", "");
            //finanzaIniziale.Add(new ContoPreventivo("Banca1","FI.0", "FI"));
            //finanzaIniziale.Add(new ContoPreventivo("Banca2","FI.1", "FI"));
            //finanzaIniziale.Add(new ContoPreventivo("Banca3", "FI.4", "FI"));
            //finanzaIniziale.Add(new ContoPreventivo("Cassa", "FI.2", "FI"));
            //finanzaIniziale.Add(new ContoPreventivo("Accantonamenti finanziari", "FI.3", "FI"));



            ////l'unico conto movimentabile è la cassa per la situazione finale
            //Classificazione finanzaFinale = new Classificazione("Situazione finanziaria finale", "FF", "");
            //finanzaFinale.Add(new Conto("Banca1", "FF.0", "FF"));
            //finanzaFinale.Add(new Conto("Banca2", "FF.1", "FF"));
            //finanzaFinale.Add(new Conto("Banca3", "FF.4", "FF"));
            //finanzaFinale.Add(new Conto("Cassa", "FF.2", "FF"));
            //finanzaFinale.Add(new Conto("Accantonamenti finanziari", "FF.3", "FF"));


            //b.Add(finanzaIniziale);
            //b.Add(finanzaFinale);

            //****************************************************************************************+
            //*****************************************************************************************



            Classificazione Spese = new Classificazione("SPESE", "S", "");



            Classificazione istituzionali1 = new Classificazione("Operazioni istituzionali", "S.OI", "S");


            Classificazione politicoOrganizzative = new Classificazione("Spese politico organizzative", "S.OI.1", "S.OI");

            politicoOrganizzative.Add(new Conto("Attività organizzativa", "S.OI.1.a", "S.OI.1"));
            politicoOrganizzative.Add(new Conto("Informazione e propaganda", "S.OI.1.b", "S.OI.1"));
            politicoOrganizzative.Add(new Conto("Attività di formazione", "S.OI.1.c", "S.OI.1"));
            politicoOrganizzative.Add(new Conto("Strutture zonali Feneal-UIL", "S.OI.1.d", "S.OI.1"));
            politicoOrganizzative.Add(new Conto("Strutture zonali CSP-UIL", "S.OI.1.e", "S.OI.1"));



            Classificazione personale = new Classificazione("Spese del personale", "S.OI.2", "S.OI");

            personale.Add(new Conto("Retribuzioni personale (nette)", "S.OI.2.a", "S.OI.2"));
            personale.Add(new Conto("Collaboratori(netto)", "S.OI.2.b", "S.OI.2"));
            personale.Add(new Conto("IRPEF Ritenute e Addizionali", "S.OI.2.c", "S.OI.2"));
            personale.Add(new Conto("Contributi previdenziali / INPS-INAIL", "S.OI.2.d", "S.OI.2"));
            personale.Add(new Conto("IRAP", "S.OI.2.e", "S.OI.2"));
            personale.Add(new Conto("Trattenute sindacali", "S.OI.2.f", "S.OI.2"));
            personale.Add(new Conto("Liquidazione TFR", "S.OI.2.g", "S.OI.2"));



            Classificazione regionaleContr = new Classificazione("Contributo struttura regionale", "S.OI.3", "S.OI");

            regionaleContr.Add(new Conto("Quote di adesione contrattuale", "S.OI.3.a", "S.OI.3"));
            regionaleContr.Add(new Conto("Quota impianti fissi", "S.OI.3.b", "S.OI.3"));



            Classificazione Tesseramentocosto = new Classificazione("Tesseramento", "S.OI.4", "S.OI");

            Tesseramentocosto.Add(new Conto("Costo tessere", "S.OI.4.a", "S.OI.4"));


            Classificazione contributiStraord = new Classificazione("Contributi straordinari", "S.OI.5", "S.OI");

            contributiStraord.Add(new Conto("Contributi straordinari", "S.OI.5.a", "S.OI.5"));


            Classificazione spesegen = new Classificazione("Spese generali", "S.OI.6", "S.OI");

            spesegen.Add(new Conto("Compensi a professionisti", "S.OI.6.a", "S.OI.6"));
            spesegen.Add(new Conto("Postali - Telefoniche", "S.OI.6.b", "S.OI.6"));
            spesegen.Add(new Conto("Utenze", "S.OI.6.c", "S.OI.6"));
            spesegen.Add(new Conto("Manutenzioni", "S.OI.6.d", "S.OI.6"));
            spesegen.Add(new Conto("Affitto e condominio", "S.OI.6.e", "S.OI.6"));
            spesegen.Add(new Conto("Cancelleria", "S.OI.6.f", "S.OI.6"));
            spesegen.Add(new Conto("Polizze assicurative", "S.OI.6.g", "S.OI.6"));
            spesegen.Add(new Conto("Altre spese", "S.OI.6.h", "S.OI.6"));
            spesegen.Add(new Conto("Ritenute acconto IRES e imposte varie", "S.OI.6.i", "S.OI.6"));
            spesegen.Add(new Conto("Interessi ed oneri bancari", "S.OI.6.l", "S.OI.6"));
            spesegen.Add(new Conto("Interessi mutuo", "S.OI.6.m", "S.OI.6"));


            Classificazione spesedur = new Classificazione("Spese beni durevoli", "S.OI.7", "S.OI");


            spesedur.Add(new Conto("Hardware e software", "S.OI.7.c", "S.OI.7"));
            spesedur.Add(new Conto("Mobili e arredi", "S.OI.7.d", "S.OI.7"));
            spesedur.Add(new Conto("Autoveicoli", "S.OI.7.e", "S.OI.7"));
            spesedur.Add(new Conto("Attrezzature", "S.OI.7.f", "S.OI.7"));


            istituzionali1.Add(politicoOrganizzative);
            istituzionali1.Add(personale);
            istituzionali1.Add(regionaleContr);
            istituzionali1.Add(Tesseramentocosto);
            istituzionali1.Add(contributiStraord);
            istituzionali1.Add(spesegen);
            istituzionali1.Add(spesedur);



            Classificazione decommercializzate1 = new Classificazione("Operazioni decommercializzate", "S.OD", "S");


            Classificazione organizzativeViaggi = new Classificazione("0rganizzazione viaggi e soggiorni turistici", "S.OD.1", "S.OD");

            organizzativeViaggi.Add(new Conto("Viaggi e soggiorni", "S.OD.1.a", "S.OD.1"));


            Classificazione reccoltepubbliche = new Classificazione("Raccolte pubbliche fondi (distintamente rendicontate)", "S.OD.2", "S.OD");

            reccoltepubbliche.Add(new Conto("Raccolte", "S.OD.2.a", "S.OD.2"));


            Classificazione regime = new Classificazione("Regime di convenzione e di accreditamento", "S.OD.3", "S.OD");

            regime.Add(new Conto("Regime convenzione e accr.", "S.OD.3.a", "S.OD.3"));


            Classificazione cessione = new Classificazione("Cessione di proprie pubblicazioni", "S.OD.4", "S.OD");

            cessione.Add(new Conto("Cessione pubblicazioni", "S.OD.4.a", "S.OD.4"));


            Classificazione altrespesegen = new Classificazione("Altre spese", "S.OD.5", "S.OD");

            altrespesegen.Add(new Conto("Altro", "S.OD.5.a", "S.OD.5"));


            decommercializzate1.Add(organizzativeViaggi);
            decommercializzate1.Add(reccoltepubbliche);
            decommercializzate1.Add(regime);
            decommercializzate1.Add(cessione);
            decommercializzate1.Add(altrespesegen);



            Spese.Add(istituzionali1);
            Spese.Add(decommercializzate1);



            Classificazione Entrate = new Classificazione("ENTRATE", "E", "");



            Classificazione istituzionali2 = new Classificazione("Operazioni istituzionali", "E.OI", "E");

            Classificazione contributi = new Classificazione("Contributi territoriali", "E.OI.1", "E.OI");

            contributi.Add(new Conto("Quote di adesione contrattuale CASSA EDILE", "E.OI.1.a", "E.OI.1"));
            contributi.Add(new Conto("Quote di adesione contrattuale EDILCASSA", "E.OI.1.b", "E.OI.1"));
            contributi.Add(new Conto("Quote di adesione contrattuale ALTRE CASSE", "E.OI.1.c", "E.OI.1"));
            contributi.Add(new Conto("Deleghe edili", "E.OI.1.d", "E.OI.1"));
            contributi.Add(new Conto("Deleghe impianti fissi", "E.OI.1.e", "E.OI.1"));
            contributi.Add(new Conto("Deleghe sindacali(LSU,DS,mobilità)", "E.OI.1.f", "E.OI.1"));



            Classificazione Tesseramento = new Classificazione("Tesseramento diretto", "E.OI.2", "E.OI");

            Tesseramento.Add(new Conto("Tesseramento", "E.OI.2.a", "E.OI.2"));


            Classificazione altricontributi = new Classificazione("Contributi", "E.OI.3", "E.OI");

            altricontributi.Add(new Conto("Contributi Feneal Nazionale", "E.OI.3.a", "E.OI.3"));
            altricontributi.Add(new Conto("Altri contributi", "E.OI.3.b", "E.OI.3"));


            Classificazione entrateVarie = new Classificazione("Entrate varie", "E.OI.4", "E.OI");

            entrateVarie.Add(new Conto("Contributi su vertenze", "E.OI.4.a", "E.OI.4"));
            entrateVarie.Add(new Conto("Interessi attivi", "E.OI.4.b", "E.OI.4"));
            entrateVarie.Add(new Conto("Gettoni presenza riversibili", "E.OI.4.c", "E.OI.4"));
            entrateVarie.Add(new Conto("Altre entrate", "E.OI.4.d", "E.OI.4"));


            Classificazione rlst = new Classificazione("Rimborso attività RLST", "E.OI.5", "E.OI");

            rlst.Add(new Conto("Costo personale RLST", "E.OI.5.a", "E.OI.5"));



            istituzionali2.Add(contributi);
            istituzionali2.Add(Tesseramento);
            istituzionali2.Add(altricontributi);
            istituzionali2.Add(entrateVarie);
            istituzionali2.Add(rlst);


            Classificazione decommercializzate2 = new Classificazione("Operazioni decommercializzate", "E.OD", "E");



            Classificazione org = new Classificazione("0rganizzazione viaggi e soggiorni turistici", "E.OD.1", "E.OD");

            org.Add(new Conto("Viaggi e soggiorni", "E.OD.1.a", "E.OD.1"));

            Classificazione racc = new Classificazione("Raccolte pubbliche fondi (distintamente rendicontate)", "E.OD.2", "E.OD");

            racc.Add(new Conto("Raccolte", "E.OD.2.a", "E.OD.2"));

            Classificazione regimeconv = new Classificazione("Regime di convenzione e di accreditamento", "E.OD.3", "E.OD");

            regimeconv.Add(new Conto("Regime conv e accr.", "E.OD.3.a", "E.OD.3"));

            Classificazione cess = new Classificazione("Cessione di proprie pubblicazioni", "E.OD.4", "E.OD");

            cess.Add(new Conto("Cessione pubblicazioni", "E.OD.4.a", "E.OD.4"));

            Classificazione altre = new Classificazione("Altre entrate", "E.OD.5", "E.OD");

            altre.Add(new Conto("Altro", "E.OD.5.a", "E.OD.5"));



            decommercializzate2.Add(org);
            decommercializzate2.Add(racc);
            decommercializzate2.Add(regimeconv);
            decommercializzate2.Add(cess);
            decommercializzate2.Add(altre);



            Entrate.Add(istituzionali2);
            Entrate.Add(decommercializzate2);



            b.Add(Spese);
            b.Add(Entrate);


            return(b);
        }