protected override void DefineTopNiveis(Nivel nvl, long IDUpperNivel) { if (!nvl.isContext && !topNiveis.Contains(nvl)) { topNiveis.Add(nvl); } nvl.AddUpper(CreateNivelIfNonExistent(IDUpperNivel)); nvl.IDNivelUpper = IDUpperNivel; }
protected void LoadBasicContents(bool isContext, ref IDataReader reader) { Nivel nvl = null; long IDNivel; long IDUpperNivel = 0; while (reader.Read()) { IDNivel = System.Convert.ToInt64(reader.GetValue(0)); if (reader.GetValue(1) != DBNull.Value) { IDUpperNivel = System.Convert.ToInt64(reader.GetValue(1)); } nvl = CreateNivelIfNonExistent(IDNivel, !isContext); // a atribuição do valor a este membro tem que se feita antes do DefineTopNiveis nvl.isContext = isContext; DefineTopNiveis(nvl, IDUpperNivel); nvl.AddUpper(CreateNivelIfNonExistent(IDUpperNivel)); if (codCompletos.Contains(IDNivel)) { nvl.CodigosCompletos = new ArrayList(); foreach (string cod in ((List <string>)codCompletos[IDNivel])) { nvl.CodigosCompletos.Add(cod); } } nvl.Codigo = reader.GetValue(2).ToString(); nvl.IDTipoNivel = System.Convert.ToInt64(reader.GetValue(3)); nvl.TipoNivelRelacionado = reader.GetValue(4).ToString(); nvl.Designacao = reader.GetValue(5).ToString(); nvl.InicioTexto = reader.GetValue(6).ToString(); nvl.InicioAno = reader.GetValue(7).ToString(); nvl.InicioMes = reader.GetValue(8).ToString(); nvl.InicioDia = reader.GetValue(9).ToString(); nvl.InicioAtribuida = GisaDataSetHelper.GetDBNullableBoolean(ref reader, 10); nvl.FimAno = reader.GetValue(11).ToString(); nvl.FimMes = reader.GetValue(12).ToString(); nvl.FimDia = reader.GetValue(13).ToString(); nvl.FimAtribuida = GisaDataSetHelper.GetDBNullableBoolean(ref reader, 14); if (IsDetalhado()) { nvl.InfoAdicional = new Dictionary <ReportParameterRelInvCatPesqDet.CamposRelInvCatPesqDet, ArrayList>(); ArrayList info; int i = 15; foreach (ReportParameterRelInvCatPesqDet rp in this.mFields) { if (rp.RetType == ReportParameter.ReturnType.TextOnly) { info = new ArrayList(); info.Add(new List <string>() { reader.GetValue(i).ToString() }); nvl.InfoAdicional.Add(rp.Campo, info); i++; } } } } reader.NextResult(); }