Este artigo é a sexta parte do projeto Loja em C#.Net, e agora iremos implementar o Formulário Clientes:
- Primeira parte, a criação da base de dados em SQL Server;
- Segunda parte, a criação do projeto modelo;
- Terceira parte, a criação do projeto de acesso a dados;
- Quarta parte, a criação do projeto de regras de negócio;
- Quinta parte, a criação do projeto do Aplicativo desktop.
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: |
label2 | Name: nomeLabel Location: 16; 64 Text: Nome: |
label3 | Name: emailLabel Location: 16; 96 Text: E-mail: |
label4 | Name: telefoneLabel Location: 16; 128 Text: Telefone: |
textBox1 | Name: codigoTextBox Enable: False Location: 110; 29 ReadOnly: True Size: 70; 20 |
textBox2 | Name: nomeTextBox Location: 110; 61 Size: 200; 20 |
textBox3 | Name: emailTextBox Location: 110; 93 Size: 200; 20 |
textBox4 | Name: telefoneTextBox Location: 110; 125 Size: 200; 20 |
textBox5 | Anchor: Bottom, Left Name: txtFiltro Location: 24; 448 Size: 161; 20 |
button1 | Name: limparButton Location: 110; 159 Text: Limpar |
button2 | Name: incluirButton Location: 191; 159 Size: 75; 23 Text: Incluir |
button3 | Name: alterarButton Location: 272; 159 Text: Alterar |
button4 | Name: excluirButton Location: 353; 159 Text: Excluir |
button5 | Name: btFiltroAnchor: Bottom, left Location: 192; 447 Text: Filtro |
dataGridView1 | Name: 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