Acesso a Dados em ASP.NET - BLL
UPDATE TbCategoria SET nome = @nome, descricao = @descricao, destaque = @destaque WHERE (id = @id)
INSERT INTO TbCategoria (nome, descricao, destaque) VALUES (@nome,@descricao,@destaque)
UPDATE TbProduto SET nome = @nome, precounitario = @precounitario, quantidadeestoque = @quantidadeestoque, porcentagemdesconto = @porcentagemdesconto, idcategoria = @idcategoria, descontinuado = @descontinuado WHERE (id = @id)
INSERT INTO TbProduto
(nome, precounitario, quantidadeestoque, porcentagemdesconto, idcategoria, descontinuado)
VALUES (@nome,@precounitario,@quantidadeestoque,@porcentagemdesconto,@idcategoria,@descontinuado)
SELECT TbProduto.id, TbProduto.nome, TbProduto.precounitario, TbProduto.quantidadeestoque, TbProduto.porcentagemdesconto, TbProduto.idcategoria, TbProduto.descontinuado, TbCategoria.nome AS nomecategoria FROM TbProduto INNER JOIN TbCategoria ON TbProduto.idcategoria = TbCategoria.id WHERE (TbProduto.id = @id)
Preço unitário não pode ser zero
Porcentagem de desconto deve estar entre 10% e 60%
Se o produto estiver descontinuado, seu preço não pode ser alterado
Se o produto pertencer a uma categoria em destaque, sua porcentagem de
desconto deve estar entre 30% e 40%
Se o produto não pertencer a uma categoria em destaque, sua porcentagem de desconto deve estar entre 10% e 60%
Ver ExemploBLLGridView01.aspx
ProdutosBLL produtosBLL = new ProdutosBLL();
GridView1.DataSource = produtosBLL.GetProdutos();
GridView1.DataBind();
Ver ExemploBLLFormulario01.aspx
CategoriasBLL categoriasBLL = new CategoriasBLL();
categoriasBLL.NovaCategoria(TextBoxNome.Text,
TextBoxDescricao.Text,
CheckBoxDestaque.Checked);
Ver ExemploBLLFormulario02.aspx
ProdutosBLL produtosBLL = new ProdutosBLL();
try
{
produtosBLL.NovoProduto(TextBoxNome.Text,
Convert.ToDecimal(TextBoxPrecoUnitario.Text),
Convert.ToInt32(TextBoxEstoque.Text),
Convert.ToInt16(TextBoxDesconto.Text),
Convert.ToInt32(DropDownListCategoria.SelectedValue),
CheckBoxDescontinuado.Checked);
}
catch (Exception exp)
{
Erro.Text = exp.Message;
}
Regras de negócio
Validações
Autorização
Idealmente implementada como uma class library
[System.ComponentModel.DataObjectMethodAttribute(System.ComponentModel.DataObjectMethodType.Select, true)]
[System.ComponentModel.DataObjectMethodAttribute(System.ComponentModel.DataObjectMethodType.Insert, true)]
[System.ComponentModel.DataObjectMethodAttribute(System.ComponentModel.DataObjectMethodType.Delete, true)]
[System.ComponentModel.DataObjectMethodAttribute(System.ComponentModel.DataObjectMethodType.Update, true)]