示例#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);
        }
示例#2
0
        protected void FillDTORendicontoItemList(IList items, Rendiconto rendiconto, int livello)
        {
            //inserisco il dato relativo al nodo corrente
            DTORendicontoItem i = new DTORendicontoItem();

            if (string.IsNullOrEmpty(_id))
            {
                i.IdNodo = "Bilancio";
            }
            else
            {
                i.IdNodo = _id;
            }
            if (string.IsNullOrEmpty(_parentId))
            {
                if (!string.IsNullOrEmpty(_id))
                {
                    i.IdNodoPadre = "Bilancio";
                }
                else
                {
                    i.IdNodoPadre = "";
                }
            }
            else
            {
                i.IdNodoPadre = _parentId;
            }
            i.DescrizioneNodo = _description;
            i.ImportoBilancio = GetTotal;
            //i.SaldoIninziale = _saldoIniziale;
            i.Livello = livello;
            i.IsLeaf  = this.IsLeaf;
            //se sono nella root (nodo bialncio senza id)
            if (_id == "")
            {
                i.ImportoPreventivo = 0;
            }
            else
            {
                AbstractBilancio b = rendiconto.Preventivo.FindNodeById(_id);
                if (b != null)
                {
                    i.ImportoPreventivo = b.GetTotal;
                }
            }
            //aggiungo alla lista
            items.Add(i);

            //inserisco il dato relativo ai nodi figli se
            //non sono su una foglia
            if (!IsLeaf)
            {
                int lev = livello + 1;
                foreach (AbstractBilancio item in _sublist)
                {
                    item.FillDTORendicontoItemList(items, rendiconto, lev);
                }
            }
        }
示例#3
0
        public static Rendiconto CreateRendiconto(string template)
        {
            Rendiconto r = ObjectXMLSerializer <Rendiconto> .Load(template);

            r.Bilancio.CalculateParentName();
            r.Preventivo.CalculateParentName();

            return(r);
        }
示例#4
0
        public IList CreateDtoItemsList(Rendiconto rendiconto)
        {
            IList items = new ArrayList();


            FillDTORendicontoItemList(items, rendiconto, 0);

            return(items);
        }
示例#5
0
        public Rendiconto GetNewRendiconto(string provincia, int anno, string regione, bool isRegionale)
        {
            Rendiconto r = new Rendiconto(provincia, anno, isRegionale, regione);

            r.Bilancio   = CreateBilancio();
            r.Preventivo = CreatePreventivo();

            r.Bilancio.CalculateParentName();
            r.Preventivo.CalculateParentName();

            return(r);
        }
示例#6
0
        public void Export(BilancioFenealgest.DomainLayer.Rendiconto current, ExcelSearchCriteria criteria)
        {
            DTORendiconto r = null;

            if (_settings.DateToExport != null && _settings.DateToExport > DateTime.MinValue)
            {
                r = current.CreateDtoRendicontoWithSaldiInizialiBancaAtDate(_settings.DateToExport);
            }
            else
            {
                r = current.CreateDtoRendicontoWithSaldiInizialiBanca();
            }

            //lancio l'evento dfi inizio esportazione
            BeginExportBilancio(this, new EventArgs());

            ScriviBilancio(1, r, criteria);

            //////WriteWorkersWorkbook(1, "Lavoratori", list);


            if (_settings.StampaPreventivo)
            {
                //lancio l'evento dfi inizio esportazione
                BeginExportPreventivo(this, new EventArgs());

                ScriviBilancio(2, r, criteria);
            }


            if (_settings.StampaStatoPatrimoniale)
            {
                //lancio l'evento dfi inizio esportazione
                BeginExportStatoPatrimoniale(this, new EventArgs());



                ScriviStatoPatrimoniale(3, current.StatoPatrimoniale, r);
            }
        }
示例#7
0
        public IList CreateDtoItemsListAtDate(Rendiconto rendiconto, bool registerSaldiInizialiBanca, DateTime date)
        {
            IList items = new ArrayList();


            FillDTORendicontoItemListAtDate(items, rendiconto, 0, date);


            //recupero dagli items i saldi iniziali delle banche
            //tramite i relativi id
            Conto banca1 = (Conto)rendiconto.Bilancio.FindNodeById("A.D.2.a");
            Conto banca2 = (Conto)rendiconto.Bilancio.FindNodeById("A.D.2.b");
            Conto banca3 = (Conto)rendiconto.Bilancio.FindNodeById("A.D.2.c");
            Conto banca4 = (Conto)rendiconto.Bilancio.FindNodeById("A.D.2.d");
            Conto banca5 = (Conto)rendiconto.Bilancio.FindNodeById("A.D.2.e");
            Conto banca6 = (Conto)rendiconto.Bilancio.FindNodeById("A.D.2.f");
            Conto cassa  = (Conto)rendiconto.Bilancio.FindNodeById("A.D.1");

            DTORendicontoItem i1 = CreateItemForSaldiIniziali(banca1.Id, banca1.SaldoIniziale);
            DTORendicontoItem i2 = CreateItemForSaldiIniziali(banca2.Id, banca2.SaldoIniziale);
            DTORendicontoItem i3 = CreateItemForSaldiIniziali(banca3.Id, banca3.SaldoIniziale);
            DTORendicontoItem i4 = CreateItemForSaldiIniziali(banca4.Id, banca4.SaldoIniziale);
            DTORendicontoItem i5 = CreateItemForSaldiIniziali(banca5.Id, banca5.SaldoIniziale);
            DTORendicontoItem i6 = CreateItemForSaldiIniziali(banca6.Id, banca6.SaldoIniziale);

            DTORendicontoItem cas = CreateItemForSaldiIniziali(cassa.Id, cassa.SaldoIniziale);

            items.Add(i1);
            items.Add(i2);
            items.Add(i3);
            items.Add(i4);
            items.Add(i5);
            items.Add(i6);
            items.Add(cas);

            return(items);
        }