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


Este artigo é a sexta parte do projeto Loja em C#.Net, e agora iremos implementar o Formulário Clientes:
Abra o Visual Studio, e abra seu projeto UIWindows, clique com o botão direito, depois em Add, clique em Windows Form, conforme a figura a seguir:

Dê o nome de ClientesForm.cs e clique em add, conforme a imagem a seguir:



Clique no formulário e vá ao painel Propriedades, altere Size para 448; 512. Isso fará com que o formulário ganhe mais espaço vertical para podermos incluir os componentes. Veja a imagem a seguir:



Agora podemos inserir os componentes e organizá-los no formulário. Serão quatro label, cinco textBox, cinco botões e um grid de dados. Veja a tabela a seguir com o nome do componente, e as propriedades que devem ser alteradas:

Componente Propriedade a ser alterada
label1 Name: codigoLabel
Location: 16; 32
Text: Código:
label2Name: nomeLabel
Location: 16; 64
Text: Nome:
label3Name: emailLabel
Location: 16; 96
Text: E-mail:
label4Name: telefoneLabel
Location: 16; 128
Text: Telefone:
textBox1Name: codigoTextBox
Enable: False
Location: 110; 29
ReadOnly: True
Size: 70; 20
textBox2Name: nomeTextBox
Location: 110; 61
Size: 200; 20
textBox3Name: emailTextBox
Location: 110; 93
Size: 200; 20
textBox4Name: telefoneTextBox
Location: 110; 125
Size: 200; 20
textBox5Anchor: Bottom, Left
Name: txtFiltro
Location: 24; 448
Size: 161; 20
button1Name: limparButton
Location: 110; 159
Text: Limpar
button2Name: incluirButton
Location: 191; 159
Size: 75; 23
Text: Incluir
button3Name: alterarButton
Location: 272; 159
Text: Alterar
button4Name: excluirButton
Location: 353; 159
Text: Excluir
button5Name: btFiltroAnchor: Bottom, left
Location: 192; 447
Text: Filtro
dataGridView1Name: clientesDataGridView
Anchor: Top, Bottom, Left, Right
Location: 24; 208
Size: 408; 233


Depois de adicionar os componentes e alterar suas propriedades o seu formulário ficará como a figura a seguir:



Muito bem! O formulário está pronto para ser implementado, e vamos começar clicando com o botão direito no formulário e escolhendo View Code para exibir o código do formulário. Altere o namespace para Loja.UIWindows e adicione as clausulas using Loja.Model, using Loja.DAL e using Loja.BLL. Conforme a figura a seguir:



Adicione o método AtualizaGrid conforme o código a seguir:



 public void AtualizaGrid()  
     {  
       //Comunicação com a Camada BLL  
       ClientesBLL obj = new ClientesBLL();  
       clientesDataGridView.DataSource = obj.Listagem(txtFiltro.Text);  
       //Atualizando os objetos TextBox  
       try  
       {  
         codigoTextBox.Text = clientesDataGridView[0, clientesDataGridView.CurrentRow.Index].Value.ToString();  
         nomeTextBox.Text = clientesDataGridView[1, clientesDataGridView.CurrentRow.Index].Value.ToString();  
         emailTextBox.Text = clientesDataGridView[2, clientesDataGridView.CurrentRow.Index].Value.ToString();  
         telefoneTextBox.Text = clientesDataGridView[3, clientesDataGridView.CurrentRow.Index].Value.ToString();  
       }  
       catch  
       {  
         codigoTextBox.Text = " ";  
         nomeTextBox.Text = " ";  
         emailTextBox.Text = " ";  
         telefoneTextBox.Text = " ";  
       }  
     }  


Clique com o botão direito e clique em View Designer para voltar ao modo design e agora clique duas vezes em alguma parte do formulário para adicionar o método Load. Copie o código a seguir:


 private void ClientesForm_Load(object sender, EventArgs e)  
 {  
   AtualizaGrid();  
   nomeTextBox.Focus();  
 }  


Volte ao modo Design. Clique duas vezes no botão Limpar. Isso adicionará o método click ao botão, copie o código a seguir:


 private void limparButton_Click(object sender, EventArgs e)  
     {  
       codigoTextBox.Text = " ";  
       nomeTextBox.Text = " ";  
       emailTextBox.Text = " ";  
       telefoneTextBox.Text = " ";  
     }  

Volte ao modo Design. Clique duas vezes no botão incluir, copie o código a seguir:


private void incluirButton_Click(object sender, EventArgs e)
    {
       try  
       {  
         ClienteInformation cliente = new ClienteInformation();  
         cliente.Nome = nomeTextBox.Text;  
         cliente.Email = precoTextBox.Text;  
         cliente.Telefone = estoqueTextBox.Text;  
         ClientesBLL obj = new ClientesBLL();  
         obj.incluir(cliente);  
         MessageBox.Show("O cliente foi incluído com sucesso!");  
         codigoTextBox.Text = Convert.ToString(cliente.Codigo);  
         AtualizaGrid();  
       }  
       catch (Exception ex)  
       {  
         MessageBox.Show("Erro: " + ex.Message);  
       }
}

Volte ao modo Design. Clique duas vezes no botão Alterar, copie o código a seguir:


 private void alterarButton_Click(object sender, EventArgs e)  
     {  
       if (codigoTextBox.Text.Length == 0)  
       {  
         MessageBox.Show("Um cliente deve ser selecionado para alteração.");  
       }  
       else  
       {  
         try  
         {  
           ClienteInformation cliente = new ClienteInformation();  
           cliente.Codigo = int.Parse(codigoTextBox.Text);  
           cliente.Nome = nomeTextBox.Text;  
           cliente.Email = precoTextBox.Text;  
           cliente.Telefone = estoqueTextBox.Text;  
           ClientesBLL obj = new ClientesBLL();  
           obj.alterar(cliente);  
           MessageBox.Show("O cliente foi aletarado com sucesso!");  
           AtualizaGrid();  
         }  
         catch (Exception ex)  
         {  
           MessageBox.Show("Erro: " + ex.Message);  
         }  
       }  
     }  

Volte ao modo Design. Clique duas vezes no botão excluir, copie o código a seguir:


 private void excluirButton_Click(object sender, EventArgs e)  
     {  
       if (codigoTextBox.Text.Length == 0)  
       {  
         MessageBox.Show("Um cliente deve ser selecionado para alteração.");  
       }  
       else  
       {  
         try  
         {  
           int codigo = Convert.ToInt32(codigoTextBox.Text);  
           ClientesBLL obj = new ClientesBLL();  
           obj.excluir(codigo);  
           MessageBox.Show("O cliente foi excluído com sucesso!");  
           AtualizaGrid();  
         }  
         catch (Exception ex)  
         {  
           MessageBox.Show("Erro: " + ex.Message);  
         }  
       }  
     }  

Volte ao Modo Design, clique duas vezes no botão filtro, copie o código a seguir:


 private void btFiltro_Click(object sender, EventArgs e)
        {
            //Comunicação com a camada bll  
            ClientesBLL obj = new ClientesBLL();  
            clientesDataGridView.DataSource = obj.Listagem(txtFiltro.Text);  
            //Atualizando os objetos TextBox  
            try  
            {
                codigoTextBox.Text = clientesDataGridView[0, clientesDataGridView.CurrentRow.Index].Value.ToString();
                nomeTextBox.Text = clientesDataGridView[1, clientesDataGridView.CurrentRow.Index].Value.ToString();
                emailTextBox.Text = clientesDataGridView[2, clientesDataGridView.CurrentRow.Index].Value.ToString();
                telefoneTextBox.Text = clientesDataGridView[3, clientesDataGridView.CurrentRow.Index].Value.ToString();  
            }  
            catch  
            {  
                codigoTextBox.Text = " ";  
                nomeTextBox.Text = " ";  
                emailTextBox.Text = " ";  
                telefoneTextBox.Text = " ";  
            }  
        }  

Volte ao Modo Design. Clique no clientesDataGridView vá ao painel Propriedades, clique no botão Events (ele tem um ícone de relâmpago), assim você verá a lista de eventos que o grid possuí. Clique duas vezes no evento CellClick, conforme a figura a seguir:



O método CellClick será criado, copie o código a seguir:


 private void clientesDataGridView_CellClick(object sender, DataGridViewCellEventArgs e)  
     {  
       //Atualizando os objetos Textbox  
       codigoTextBox.Text = clientesDataGridView[0, clientesDataGridView.CurrentRow.Index].Value.ToString();  
       nomeTextBox.Text = clientesDataGridView[1, clientesDataGridView.CurrentRow.Index].Value.ToString();  
       emailTextBox.Text = clientesDataGridView[2, clientesDataGridView.CurrentRow.Index].Value.ToString();  
       telefoneTextBox.Text = clientesDataGridView[3, clientesDataGridView.CurrentRow.Index].Value.ToString();  
     }   


Agora o formulário está terminado, no próximo artigo iremos criar o formulário produtos. 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.