/// <summary> /// Retorna um IBaseBD de ProdutoCategoria especifico /// </summary> public override IBaseBD this[int indice] { get{ if (indice < 0 || indice >= lista.Count) { return(null); } else { int id = (int)lista[indice]; produtoCategoria.Ler(id); return(produtoCategoria); } } }
/// <summary> /// Obtem uma tabela de todos os campos de produto carregados na lista /// </summary> /// <returns></returns> public override DataTable Relatorio() { DataTable tabela = new DataTable("Produto"); try{ if (this.Primeiro()) { tabela.Columns.Add("Nome", typeof(string)); tabela.Columns.Add("PrecoVenda", typeof(decimal)); tabela.Columns.Add("PrecoCompra", typeof(decimal)); tabela.Columns.Add("Categoria", typeof(string)); tabela.Columns.Add("ForaDeLinha", typeof(string)); // tabela.Columns.Add("UnidadeCompra", typeof(string)); // tabela.Columns.Add("UnidadeUso", typeof(string)); // tabela.Columns.Add("Coeficiente", typeof(decimal)); do { DataRow linha = tabela.NewRow(); linha["Nome"] = produto.Nome.Valor; ProdutoCategoria cat = new ProdutoCategoria(); cat.Ler(produto.ProdutoCategoriaID.Valor); linha["Categoria"] = cat.Nome.Valor; linha["PrecoVenda"] = produto.PrecoVenda.Valor; linha["PrecoCompra"] = produto.PrecoCompra.Valor; linha["ForaDeLinha"] = (produto.ForaDeLinha.Valor) ? "Sim" : "Nao"; // linha["UnidadeCompra"]= produto.UnidadeDeCompra.Valor; // linha["UnidadeUso"]= produto.UnidadeDeUso.Valor; // linha["Coeficiente"]= produto.CoeficienteDeConversao.Valor; tabela.Rows.Add(linha); }while(this.Proximo()); } else //erro: nao carregou a lista { tabela = null; } }catch { tabela = null; } return(tabela); }