Desenvolvendo um projeto Loja em C#.Net - Parte 4


Este artigo é a quarta parte do projeto Loja em C#.Net, e agora iremos implementar a camada de regras de negócio:
Criando o Projeto BLL no Visual Studio

Abra o Visual Studio, e abra seu projeto DAL, clique com o botão direito em Solution Model, depois em Add, clique em New Project, conforme a figura a seguir:


Na janela New Project, no lado esquerdo, expanda Templates, depois Visual C#, e clique em Windows. No lado direito escolha Class Library, dê o nome de BLL, dê OK. Obs: Não crie o projeto no mesmo caminho que o Projeto Model. Veja a figura a seguir:



 O Solution Explorer ficará conforme a figura a seguir:

  
O projeto BLL precisa reutilizar tudo que criamos no projeto Model e DAL, e isso é possível adicionando uma referência, expanda References, clique com o botão direito e escolha Add Reference, conforme a figura a seguir: 


A janela Reference Manager será aberta, do lado esquerdo, expanda Solution e clique em Projects. Do lado direito aparecerá os projetos, marque a caixa de seleção referente ao projeto Model, e clique em OK. Veja a figura a seguir: 


Agora está tudo pronto para implementarmos as classes de regras de negócio. Clique com o botão direito em Class1.cs e clique em Rename, dê o nome de ClientesBLL. Abra a classe ClientesBLL.cs, altere o namespace para Loja.DAL, adicione as cláusulas using Loja.Model e using Loa.DAL, conforme a figura a seguir:



A classe ClientesBLL.cs está pronta para ser implementada começando pelo método incluir, copie o código a seguir:

 public void incluir(ClienteInformation cliente)  
     {  
       //O nome do cliente é obrigatório  
       if (cliente.Nome.Trim().Length == 0)  
       {  
         throw new Exception("O nome do cliente é obrigatório");  
       }  
       //O email é sempre em letras minusculas  
       cliente.Email = cliente.Email.ToLower();  
       //Se tudo está ok, chama a rotina de inserção.  
       ClientesDAL obj = new ClientesDAL();  
       obj.incluir(cliente);  
     }         

Próximo método é o alterar:

     public void alterar(ClienteInformation cliente)  
     {  
       //O nome do cliente é obrigatório  
       if (cliente.Nome.Trim().Length == 0)  
       {  
         throw new Exception("O nome do cliente é obrigatório");  
       }  
       //O email é sempre em letras minusculas  
       cliente.Email = cliente.Email.ToLower();  
       //Se tudo está ok, chama a rotina de inserção.  
       ClientesDAL obj = new ClientesDAL();  
       obj.alterar(cliente);  
     }  

Próximo método é o excluir:

 public void excluir(int codigo)  
     {  
       if (codigo < 1)  
       {  
         throw new Exception("Selecione um cliente antes de excluí-lo.");  
       }  
       ClientesDAL obj = new ClientesDAL();  
       obj.excluir(codigo);  
     }  

Próximo método é o listagem:

 public DataTable Listagem(string filtro)  
     {  
       ClientesDAL obj = new ClientesDAL();  
       return obj.Listagem(filtro);  
     }  

A classe ClientesBLL.cs está pronta, se houver algum erro reveja os passos.

Agora iremos criar a próxima classe, clique com o botão direito no projeto BLL, vá a Add, e clique em Class.., dê o nome de ProdutosBLL e clique em Add.

Adicione as cláusulas using Loja.Model e using Loja.DAL, altere o namespace para Loja.BLL.

A classe ProdutosBLL está pronta para ser implementada, e começamos com o método ProdutosEmFalta, copie o código a seguir:


 public ArrayList ProdutosEmFalta()  
     {  
       ProdutosDAL obj = new ProdutosDAL();  
       return obj.ProdutosEmFalta();  
     }  

Próximo método é o incluir:

 public void incluir(ProdutoInformation produto)  
     {  
       //Nome do produto é obrigatório  
       if (produto.Nome.Trim().Length == 0)  
       {  
         throw new Exception("nome do produto é obrigatório.");  
       }  
       //O preço do produto não pode ser negativo  
       if (produto.Preco < 0)  
       {  
         throw new Exception("O preço do produto não pode ser negativo.");  
       }  
       //O estoque do produto não pode ser negativo  
       if (produto.Estoque < 0)  
       {  
         throw new Exception("Estoque do produto não pode ser negativo.");  
       }  
       //Se tudo estiver ok, chama a rotina de gravaçao  
       ProdutosDAL obj = new ProdutosDAL();  
       obj.incluir(produto);  
     }  

Próximo método é o alterar:

 public void alterar(ProdutoInformation produto)  
     {  
       //Nome do produto é obrigatório  
       if (produto.Nome.Trim().Length == 0)  
       {  
         throw new Exception("nome do produto é obrigatório.");  
       }  
       //O preço do produto não pode ser negativo  
       if (produto.Preco < 0)  
       {  
         throw new Exception("O preço do produto não pode ser negativo.");  
       }  
       //O estoque do produto não pode ser negativo  
       if (produto.Estoque < 0)  
       {  
         throw new Exception("Estoque do produto não pode ser negativo.");  
       }  
       //Se tudo estiver ok, chama a rotina de gravaçao  
       ProdutosDAL obj = new ProdutosDAL();  
       obj.alterar(produto);  
     }  

Próximo método é o excluir:

 public void excluir(int codigo)  
     {  
       ProdutosDAL obj = new ProdutosDAL();  
       obj.excluir(codigo);  
     }  

Próximo método é o listagem:


 public DataTable listagem(string filtro)  
     {  
       ProdutosDAL obj = new ProdutosDAL();  
       return obj.listagem(filtro);  
     }  

A classe ProdutosBLL.cs está pronta, se houver algum erro reveja os passos.

Agora iremos criar a próxima classe, clique com o botão direito no projeto BLL, vá a Add, e clique em Class.., dê o nome de VendasBLL e clique em Add.

Adicione as cláusulas using Loja.Model e using Loja.DAL, altere o namespace para Loja.BLL e adicione a palavra reservada public, igual foi feito na classe ClientesBLL.cs e ProdutosBLL.cs.

A classe VendasBLL está pronta para ser implementada, e vamos adicionar uma variável privada para armazenar uma instância da classe DAL, copie o código a seguir:

 //Campo privado para armazenar uma instância da classe DAL  
     private VendasDAL objDAL;  

Próximo passo é implementar o método construtor:

 //Esse é o construtor da classe VendasBLL  
     public VendasBLL()  
     {  
       objDAL = new VendasDAL();  
     }  

Próximo método é o ListaDeProdutos:

 public DataTable ListaDeProdutos  
     {  
       get  
       {  
         return objDAL.ListaDeProdutos;  
       }  
     }  

Próximo método é o ListaDeClientes:

 public DataTable ListaDeClientes  
     {  
       get  
       {  
         return objDAL.ListaDeClientes;  
       }  
     }  

Próximo método é o incluir:


 public void incluir(VendaInformation venda)  
     {  
       objDAL.incluir(venda);  
     }  


Agora a classe VendasBLL está pronta, vá ao Solution Explorer, clique com o botão direito em BLL, e clique em Build. O visual Studio irá compilar a solução.

Próximo passo é criar o projeto UIWindows que contém os formulários, até mais.

Tiago Sousa

Sou Desenvolvedor Web Full-Stack com ênfase em Java, atuando no mercado de TI há 15 anos. Ao longo da carreira, adquiri conhecimentos sólidos e abrangentes em diversas tecnologias.