Este artigo é a sétima parte do projeto Loja em C#.Net, e agora iremos implementar o Formulário Produtos:
- 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;
- Sexta parte, a criação do 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 ProdutosForm.cs e clique em add, conforme a imagem a seguir:
No artigo anterior, trabalhamos com as propriedades mais comuns dos componentes, e agora não será necessário mostrar o painel propriedades nos exemplos, apenas irei descrever o que precisar ser alterado.
Clique no formulário e vá ao painel Propriedades, altere Size para 600; 300. Isso fará com que o formulário ganhe mais espaço horizontal para podermos incluir os componentes.
Agora insira no formulário os componentes e mude suas propriedades conforme a tabela a seguir:
Componente | Propriedade a ser alterada |
label1 | Name: codigoLabel Location: 21; 22 Text: Código: |
label2 | Name: nomeLabel Location: 110; 22 Text: Nome: |
label3 | Name: precoLabel Location: 322; 22 Text: Preço: |
label4 | Name: estoqueLabel Location: 417; 22 Text: Estoque: |
textBox1 | Name: codigoTextBox Enable: False Location: 11; 38 ReadOnly: True Size: 84; 20 |
textBox2 | Name: nomeTextBox Location: 104; 38 Size: 204; 20 |
textBox3 | Name: precoTextBox Location: 314; 38 Size: 84; 20 |
textBox4 | Name: estoqueTextBox Location: 404; 38 Size: 84; 20 |
textBox5 | Name: txtFiltro Anchor: Bottom, Left Location: 11; 74 Size: 231; 20 |
Button1 | Name: limparButton Location: 332; 72 Text: Limpar |
Button2 | Name: incluirButton Location: 494; 36 Text: Incluir |
Button3 | Name: alterarButton Location: 413; 72 Text: Alterar |
Button4 | Name: excluirButton Location: 494; 72 Text: Excluir |
Button5 | Anchor: Bottom, left Name: btFiltro Location: 251; 72 Text: Filtrar |
dataGridView1 | Name: produtosDataGridView Anchor: Top, Bottom, Left, Right Location: 15; 101 Size: 554; 148 |
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
ProdutosBLL obj = new ProdutosBLL();
produtosDataGridView.DataSource = obj.listagem("");
//Atualizando os objetos TextBox
codigoTextBox.Text = produtosDataGridView[0, produtosDataGridView.CurrentRow.Index].Value.ToString();
nomeTextBox.Text = produtosDataGridView[1, produtosDataGridView.CurrentRow.Index].Value.ToString();
precoTextBox.Text = produtosDataGridView[2, produtosDataGridView.CurrentRow.Index].Value.ToString();
estoqueTextBox.Text = produtosDataGridView[3, produtosDataGridView.CurrentRow.Index].Value.ToString();
}
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 ProdutosForm_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 = "";
precoTextBox.Text = "";
estoqueTextBox.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
{
ProdutoInformation produto = new ProdutoInformation();
produto.Nome = nomeTextBox.Text;
produto.Preco = Convert.ToDecimal(precoTextBox.Text);
produto.Estoque = Convert.ToInt32(estoqueTextBox.Text);
ProdutosBLL obj = new ProdutosBLL();
obj.incluir(produto);
MessageBox.Show("O produto foi incluído com sucesso!");
codigoTextBox.Text = Convert.ToString(produto.Codigo);
}
catch (Exception ex)
{
MessageBox.Show("Erro: " + ex.Message);
}
AtualizaGrid();
}
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 == " ")
{
MessageBox.Show("Um produto precisa ser selecionado para alteração.");
}
else
{
try
{
ProdutoInformation produto = new ProdutoInformation();
produto.Codigo = int.Parse(codigoTextBox.Text);
produto.Nome = nomeTextBox.Text;
produto.Preco = Convert.ToDecimal(precoTextBox.Text);
produto.Estoque = Convert.ToInt32(estoqueTextBox.Text);
ProdutosBLL obj = new ProdutosBLL();
obj.alterar(produto);
MessageBox.Show("O produto foi atualizado com sucesso");
}
catch (Exception ex)
{
MessageBox.Show("Erro: " + ex.Message);
}
AtualizaGrid();
}
}
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 produto deve ser selecionado antes da exclusão.");
}
else
{
try
{
int codigo = Convert.ToInt32(codigoTextBox.Text);
ProdutosBLL obj = new ProdutosBLL();
obj.excluir(codigo);
MessageBox.Show("O produto foi excluído com sucesso!");
AtualizaGrid();
}
catch (Exception ex)
{
MessageBox.Show(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
ProdutosBLL obj = new ProdutosBLL();
produtosDataGridView.DataSource = obj.listagem(txtFiltro.Text);
//Atualizando os objetos TextBox
try
{
codigoTextBox.Text = produtosDataGridView[0, produtosDataGridView.CurrentRow.Index].Value.ToString();
nomeTextBox.Text = produtosDataGridView[1, produtosDataGridView.CurrentRow.Index].Value.ToString();
precoTextBox.Text = produtosDataGridView[2, produtosDataGridView.CurrentRow.Index].Value.ToString();
estoqueTextBox.Text = produtosDataGridView[3, produtosDataGridView.CurrentRow.Index].Value.ToString();
}
catch
{
codigoTextBox.Text = "";
nomeTextBox.Text = "";
precoTextBox.Text = "";
estoqueTextBox.Text = "";
}
}
Volte ao Modo Design. Clique no produtosDataGridView 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. Copie o código a seguir:
private void produtosDataGridView_CellClick(object sender, DataGridViewCellEventArgs e)
{
//Atualizando os objetos TextBox
codigoTextBox.Text = produtosDataGridView[0, produtosDataGridView.CurrentRow.Index].Value.ToString();
nomeTextBox.Text = produtosDataGridView[1, produtosDataGridView.CurrentRow.Index].Value.ToString();
precoTextBox.Text = produtosDataGridView[2, produtosDataGridView.CurrentRow.Index].Value.ToString();
estoqueTextBox.Text = produtosDataGridView[3, produtosDataGridView.CurrentRow.Index].Value.ToString();
}
Agora o formulário está terminado, no próximo artigo iremos criar o formulário Vendas. Até mais