Camada de Apresentação
Renomeie o formulário form1.cs para frmContato.cs
Na propriedade do formulário modifique os seguintes:
Nome
|
Valor
|
O que é?
|
Name
|
frmContato
|
Nome do Formulário
|
BackColor
|
White
|
Plano de Fundo
|
Icon
|
Escolha o ícone com extensão .icon
|
Ícone
|
Size
|
509; 733
|
Tamanho do Formulário
|
StartPosition
|
CenterScreen
|
Posição inicia
|
Text
|
Contatos
|
Titulo
|
No topo do formulario, adicione o componente Panel, uma PictureBox e uma label, conforme a imagem a seguir:
Adicione uma groupBox e os componentes a seguir conforme a imagem: utilize label, textbox e uma maskTextBox.
os nomes dos controles são:
textBox1 = txtCodigo
textBox2 = txtNome
textBox3 = txtEndereco
maskedTextBox1 = mkTelefone
Adicione outra groupbox e os controles a seguir conforme a imagem:
button1 = btnNovo
button2 = btnSalvar
button3 = btnAtualizar
button4 = btnExcluir
Adicione outra groupbox com os controles a seguir
combobox1 = cbmFiltro
maskedTextBox1 = mkPesquisar.
Na propriedade Items adicione os seguintes textos:
Código
Nome
Telefone
e no botão pesquisar = btnPesquisar
Adicione a ultima groupbox e dentro dela insira uma DataGridView. Recendo o nome dgvContato
vá para o código do formulário (F7)
insira o código a seguir:
Chamar a classe RegraNegocio
RegraNegocio negocio = new RegraNegocio();
|
Habilitar os controles
private void habilitarControles()
{
txtNome.Enabled = true;
txtEndereco.Enabled = true;
mkTelefone.Enabled = true;
}
|
Limpar os Campos
private void LimparCampo()
{
foreach (Control cont in this.Controls)
{
if (cont is GroupBox)
{
for (int i = 0; i < cont.Controls.Count; i++)
{
if (cont.Controls[i] is TextBox)
(cont.Controls[i] as TextBox).Text = "";
if (cont.Controls[i] is ComboBox)
(cont.Controls[i] as ComboBox).SelectedIndex = -1;
if (cont.Controls[i] is MaskedTextBox)
(cont.Controls[i] as MaskedTextBox).Text = "";
}
}
}
}
|
No evento load do formulário insira o código a seguir
private void frmContato_Load(object sender, EventArgs e)
{
btnNovo.Enabled = true;
negocio.PreencherDataGrid(dgvContato);
}
|
Clique no botão novo e insira o código a seguir:
private void btnNovo_Click(object sender, EventArgs e)
{
habilitarControles();
btnNovo.Enabled = false;
btnAtualizar.Enabled = false;
btnExcluir.Enabled = false;
if (txtNome.Text != null)
{
txtNome.Focus();
btnSalvar.Enabled = true;
}
LimparCampo();
}
|
Clique no botão Salvar e insira o código a seguir:
private void btnSalvar_Click(object sender, EventArgs e)
{
if (txtNome.Text != "")
{
RegraNegocio cln = new RegraNegocio();
cln.Nome = this.txtNome.Text;
cln.Endereco = this.txtEndereco.Text;
cln.Telefone = this.mkTelefone.Text;
cln.InserirContato();
negocio.PreencherDataGrid(dgvContato);
btnSalvar.Enabled = false;
btnAtualizar.Enabled = true;
btnExcluir.Enabled = true;
MessageBox.Show("Contato cadastrado com sucesso",
"Sucesso",
MessageBoxButtons.OK,
MessageBoxIcon.Information);
}
else
{
txtNome.Focus();
btnNovo.Enabled = false;
MessageBox.Show("Adicione um nome de Usuário",
"Atenção",
MessageBoxButtons.OK,
MessageBoxIcon.Information);
}
}
|
Clique no botão Atualizar e insira o código a seguir:
private void btnAtualizar_Click(object sender, EventArgs e)
{
try
{
if (txtCodigo.Text != null)
{
negocio.Codigo = int.Parse(txtCodigo.Text);
negocio.Nome = txtNome.Text;
negocio.Endereco = txtEndereco.Text;
negocio.Telefone = mkTelefone.Text;
negocio.AtualizarContato();
negocio.PreencherDataGrid(dgvContato);
MessageBox.Show("Atualizado com sucesso",
"Sucesso",
MessageBoxButtons.OK,
MessageBoxIcon.Information);
}
else
{
MessageBox.Show("O Campo código é obrigatório",
"Atenção",
MessageBoxButtons.OK,
MessageBoxIcon.Information);
}
}
catch (Exception ex)
{
MessageBox.Show("Não foi possível atualizar os dados pelo seguinte motivo: " + ex.Message);
}
|
Clique no botão excluir e insira o código a seguir:
private void btnExcluir_Click(object sender, EventArgs e)
{
try
{
if (txtCodigo.Text != null)
{
negocio.Codigo = int.Parse(txtCodigo.Text);
negocio.ExcluirContato();
LimparCampo();
negocio.PreencherDataGrid(dgvContato);
btnExcluir.Enabled = false;
btnAtualizar.Enabled = false;
MessageBox.Show("Excluido com sucesso",
"Sucesso",
MessageBoxButtons.OK,
MessageBoxIcon.Information);
}
else
{
MessageBox.Show("O Campo Código é obrigatório",
"Atenção",
MessageBoxButtons.OK,
MessageBoxIcon.Information);
}
}
catch (Exception ex)
{
MessageBox.Show("Não foi possível excluir os dados pelo seguinte motivo: " + ex.Message);
}
}
|
Clique no botão pesquisar e insira o código a seguir:
private void btnPesquisar_Click(object sender, EventArgs e)
{
if (cbbFiltro.Text == "Código")
{
negocio.Codigo = int.Parse(mkPesquisar.Text);
negocio.ConsultarCodigo(dgvContato);
}
if (cbbFiltro.Text == "Nome")
{
negocio.Nome = mkPesquisar.Text;
negocio.ConsultarNome(dgvContato);
}
if (cbbFiltro.Text == "Telefone")
{
negocio.Telefone = mkPesquisar.Text;
negocio.ConsultarTelefone(dgvContato);
}
if (cbbFiltro.Text == "")
{
negocio.PreencherDataGrid(dgvContato);
}
}
|
Clique duas vezes na ComboBox do Filtro de pesquisa e insira o código a seguir:
private void cbbFiltro_SelectedIndexChanged(object sender, EventArgs e)
{
if (cbbFiltro.Text == "Telefone")
{
mkPesquisar.Mask = "(00)0000-0000";
}
else
{
mkPesquisar.Clear();
mkPesquisar.Mask = "";
}
}
|
No evento da DataGridView (no raio) Click insira o código a seguir:
private void dgvContato_Click(object sender, EventArgs e)
{
habilitarControles();
btnAtualizar.Enabled = true;
btnExcluir.Enabled = true;
txtCodigo.Text = dgvContato.CurrentRow.Cells[0].Value.ToString();
txtNome.Text = dgvContato.CurrentRow.Cells[1].Value.ToString();
txtEndereco.Text = dgvContato.CurrentRow.Cells[2].Value.ToString();
mkTelefone.Text = dgvContato.CurrentRow.Cells[3].Value.ToString();
}
|
Conclusão
O Conceito de três camadas veio com o objetivo de separar a lógica de negocio da lógica de apresentação e acesso a dados. Com isto o sistema torna-se mais fácil a manutenção e inserção de funções. Este é o primeiro tutorial em três camadas do blog nstutoriais.blogspot.com, e vamos fazer muito mais. Caso tenha alguma dúvida acesse o blog ou adicione no MSN: natanaelsantosdf@hotmail.com ou na nossa página do facebook.
Tutorial em PDF = Clique aqui
Código Fonte do arquivo = Clique aqui