EF Core - Usando o EF Core com Windows Forms - (Crud Básico) - II

Hoje veremos como usar o Entity Framework Core em uma aplicação Windows Forms com .NET Framework 4.6.

Continuando a primeira parte do artigo vamos implementar o CRUD começando com o formulário Form1.cs da aplicação.

Implementando o CRUD no projeto Windows Forms

Vamos criar no projeto uma classe chamada Acao onde vamos definir uma enumeração com o nome de Operacao :

public static class Acao
{
   public enum Operacao { edit, del, add };
}

Temos aqui uma enumeração definida com os valores edit, del e add que representam a ação de editar, deletar e adicionar usadas no projeto para gerenciar as informações de alunos.

Agora no construtor do formulário Form1.cs vamos definir um método ExibirAlunos() que será chamado quando o formulário abrir:

public Form1()
{
     InitializeComponent();
     ExibirAlunos();
}

A seguir temos o código do método ExibirAlunos():

        private void ExibirAlunos()
        {
            List<Aluno> alunos;
            lbAlunos.Items.Clear();

            using (var ctx = new ApplicationDBContext())
            {
                alunos = ctx.Alunos.ToList();
            }
            foreach (var aluno in alunos)
                lbAlunos.Items.Add(aluno);
        }

Este método define uma lista de alunos e usando o EFCore acessa a tabela Alunos e retorna todos os alunos que serão exibido no controle ListBox(lbalunos).

Selecionando aluno

Agora quando o usuário selecionar o nome de um aluno vamos usar o evento SelectedIndexChanged do ListBox para obter o aluno selecionado e exibir os dados nas caixas de texto do formulário:

private void lbAlunos_SelectedIndexChanged(object sender, EventArgs e)
{
     var alunoSelecionado = (Aluno)lbAlunos.SelectedItem;

     txtID.Text = alunoSelecionado.AlunoId.ToString();
     txtNome.Text = alunoSelecionado.Nome;
     txtEmail.Text = alunoSelecionado.Email;
}

Fazendo o CRUD

Vamos começar fazendo uma validação básica apenas para ter certeza de que o usuário selecionou um aluno.

Vamos definir o método Validacao() conforme abaixo:

        public bool ValidaAcao()
        {
            if (string.IsNullOrWhiteSpace(txtID.Text))
                return false;
            else
                return true;
        }

Agora vamos definir o código de cada botão de comando, no seu evento Click, para realizar o CRUD.

1- Botão Editar

       private void btnEditar_Click(object sender, EventArgs e)
        {
            if (ValidaAcao())
            {
                var aluno = (Aluno)lbAlunos.SelectedItem;
                Form2 frm = new Form2(aluno, Acao.Operacao.edit);
                frm.ShowDialog();
                ExibirAlunos();
            }
        }

2- Botão Excluir

       private void btnExcluir_Click(object sender, EventArgs e)
        {
            if (ValidaAcao())
            {
                var aluno = (Aluno)lbAlunos.SelectedItem;
                Form2 frm = new Form2(aluno, Acao.Operacao.del);
                frm.ShowDialog();
                ExibirAlunos();
            }
       }

3- Botão Incluir

        private void btnIncluir_Click(object sender, EventArgs e)
        {
            if (ValidaAcao())
            {
                var aluno = new Aluno();
                Form2 frm = new Form2(aluno, Acao.Operacao.add);
                frm.ShowDialog();
                ExibirAlunos();
            }
        }

4- Botão Sair

        private void btnSair_Click(object sender, EventArgs e)
        {
            if(MessageBox.Show("Deseja Encerrar?","Encerrar",MessageBoxButtons.YesNo ) == DialogResult.Yes)
                Application.Exit();
        }

O código de cada um dos botões é muito parecido neles obtemos o aluno selecionado e passamos o aluno e a ação que está sendo realizada para o segundo formulário do projeto,  o Form2.cs.

A seguir chamamos o método ExibirAlunos() novamente para atualizar a exibição no Listbox.

Na próxima parte do artigo vamos definir o código do formulário Form2.cs.

'(Disse Jesus) - Nisto todos conhecerão que sois meus discípulos, se vos amardes uns aos outros.'
João 13:35

 

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 ?

  Gostou ?   Compartilhe no Facebook   Compartilhe no Twitter

Referências:


José Carlos Macoratti