protected override void DefineTopNiveis(Nivel nvl, long IDUpperNivel)
        {
            if (!nvl.isContext && !topNiveis.Contains(nvl))
            {
                topNiveis.Add(nvl);
            }

            nvl.AddUpper(CreateNivelIfNonExistent(IDUpperNivel));
            nvl.IDNivelUpper = IDUpperNivel;
        }
Esempio n. 2
0
        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();
        }