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); } } }
protected DTORendicontoItem CreateItemForSaldiIniziali(string contoId, double saldoIniziale) { DTORendicontoItem i = new DTORendicontoItem(); i.IdNodo = contoId + "si"; i.DescrizioneNodo = ""; i.ImportoBilancio = saldoIniziale; i.Livello = 0; i.IsLeaf = true; //se sono nella root (nodo bialncio senza id) i.ImportoPreventivo = 0; return(i); }
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); }