C# - ListView - CRUD básico com SQL Server em 3 camadas - III
Neste artigo vamos recordar como realizar o CRUD básico usando o banco de dados SQL Server em uma aplicação Windows Forms aplicando uma arquitetura em camadas. |
Continuando a segunda parte do artigo vamos prosseguir com a manutenção de usuários implementando as funcionalidades para incluir, alterar e excluir dados no formulário.
Realizando o CRUD - Implementação na camada de Interface
Agora, para concluir nosso projeto vamos em cada evento Click dos botões de comando definir o código para realizar a respectiva operação.
1 - Incluir usuário - Botão Incluir
private void btnIncluir_Click(object sender, EventArgs e) { try { if (ValidaDados()) { if (acc.ProcurarPorNome(txtNome.Text)) { MessageBox.Show("Já existe usuário cadastrado com este login. Tente outro nome para o login.", "Login já Cadastrado", MessageBoxButtons.OK, MessageBoxIcon.Information); txtNome.Focus(); return; } acc.cadastraUsuario(txtNome.Text, txtEmail.Text, acc.gerarHashSenha(txtSenha.Text)); MessageBox.Show("Usuário incluido com sucesso.", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Warning); PreencheListView(ref lvUsuarios); AlternarCoresdeFundo(lvUsuarios, Color.Aqua, Color.LightGreen); } } catch (Exception ex) { MessageBox.Show(ex.Message); } } |
O código após validar os dados informados pelo usuário verifica se o não existe um nome de login já cadastrado para o nome informado usando a rotina ProcurarPorNome da classe UsuarioBLL.
Para incluir o usuário foi chamada o método cadastraUsuario da classe UsuarioBLL.
2 - Alterar usuário - Botão Atualizar
private void btnAtualizar_Click(object sender, EventArgs e) { try { if (ValidaDados()) { int codigo = Convert.ToInt32(txtID.Text);
if (!nomeAtual.Equals(txtNome.Text))
if (senhaAtual.Equals(txtSenha.Text)) MessageBox.Show("Usuário atualizado com sucesso.", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Warning);
PreencheListView(ref lvUsuarios); |
Para alterar um usuário primeiro validamos os dados informados para não permitir valores inválidos.
Em seguida verificamos se o nome esta sendo alterado (!nomeAtual.Equals(txtNome.Text) e neste caso verificamos ainda se o nome já não esta cadastrado.
Devemos também verificar se a senha não esta sendo alterada (senhaAtual.Equals(txtSenha.Text) e se estiver devemos gerar o Hash para a nova senha informada.
3 - Excluir usuário - Botão Excluir
private void btnExcluir_Click(object sender, EventArgs e) { DialogResult resultado = MessageBox.Show("Confirma exclusão deste usuário ?", "Confirma Exclusão", MessageBoxButtons.YesNo, MessageBoxIcon.Question); if (resultado == DialogResult.Yes) { try { int codigo = Convert.ToInt32(txtID.Text); acc.excluirUsuario(codigo); MessageBox.Show("Usuário excluido com sucesso.", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Warning); PreencheListView(ref lvUsuarios); AlternarCoresdeFundo(lvUsuarios, Color.Aqua, Color.LightGreen); } catch (Exception ex) { MessageBox.Show("Erro ao excluir o usuário." + ex.Message, "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Warning); } } } |
4 - Limpar - Botão Limpar
private void btnLimpar_Click(object sender, EventArgs e)
{
foreach (Control c in grpUsuario.Controls)
{
if (c is TextBox)
{
c.Text = "";
}
}
txtNome.Focus();
}
|
O botão Limpar é usado para limpar os controles TextBox quando o usuário for incluir um novo dado.
4 - Encerrar - Botão Sair
private void btnSair_Click(object sender, EventArgs e)
{
DialogResult resultado = MessageBox.Show("Deseja encerrar o programa ?", "Encerrar",
MessageBoxButtons.YesNo, MessageBoxIcon.Question);
if (resultado == DialogResult.Yes)
Application.Exit();
}
|
Com isso conclui o artigo e mostrei, embora com algumas simplificações (que você pode ajustar melhorando o código) como realizar as operações de manutenção de dados usando um controle ListView com ADO .NET em camadas.
Pegue o código completo aqui: WF_Crud.zip
"Pensai nas coisas que são de cima, e não nas que são
da terra;"
Colossenses 3:2
Veja os
Destaques e novidades do SUPER DVD Visual Basic (sempre atualizado) : clique
e confira !
Quer migrar para o VB .NET ?
Quer aprender C# ??
Quer aprender os conceitos da Programação Orientada a objetos ? Quer aprender o gerar relatórios com o ReportViewer no VS 2013 ? Quer aprender a criar aplicações Web Dinâmicas usando a ASP .NET MVC 5 ? |
Referências:
Super DVD Vídeo Aulas - Vídeo Aula sobre VB .NET, ASP .NET e C#
Super DVD C# - Recursos de aprendizagens e vídeo aulas para C#
ASP .NET Core 2 - MiniCurso Básico - Macoratti
ASP .NET Core - Macoratti
Conceitos - .NET Framework versus .NET Core - Macoratti
ASP .NET Core - Conceitos Básicos - Macoratti.net
ASP .NET Core MVC - CRUD básico com ADO .NET - Macoratti
ASP .NET Core - Implementando a segurança com ... - Macoratti.net
ASP .NET Core - Apresentando Razor Pages - Macoratti
Minicurso ASP .NET Core 2.0 - Autenticação com JWT - I - Macoratti
Minicurso ASP .NET Core 2.0 - Autenticação com JWT - II - Macoratti.net