/// <summary> /// Retorna um IBaseBD de PerfilTipo especifico /// </summary> public override IBaseBD this[int indice] { get{ if (indice < 0 || indice >= lista.Count) { return(null); } else { int id = (int)lista[indice]; perfilTipo.Ler(id); return(perfilTipo); } } }
/// <summary> /// Obtem uma tabela a ser jogada num relatorio /// </summary> /// <returns></returns> public override DataTable Relatorio() { try { DataTable tabela = new DataTable("RelatorioPerfil"); if (this.Primeiro()) { tabela.Columns.Add("ID", typeof(int)); tabela.Columns.Add("Tipo", typeof(string)); tabela.Columns.Add("Nome", typeof(string)); do { DataRow linha = tabela.NewRow(); PerfilTipo perfilTipo = new PerfilTipo(); perfilTipo.Ler(perfil.PerfilTipoID.Valor); linha["ID"] = perfil.Control.ID; linha["Tipo"] = perfilTipo.Nome.Valor; linha["Nome"] = perfil.Nome.Valor; tabela.Rows.Add(linha); } while (this.Proximo()); } else { //erro: nao carregou a lista tabela = null; } return(tabela); } catch (Exception ex) { throw ex; } }