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

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

Continuando a segunda parte do artigo vamos concluir a implementação do CRUD no formulário Form2.cs da aplicação.

Concluindo o CRUD no projeto Windows Forms

No formulário Form2.cs primeiro vamos definir uma variável do tipo Acao.Operacao chamada _valor que receber a ação a ser realizada.

           Acao.Operacao _valor;

A seguir no construtor do formulário recebemos o aluno e a ação e chamamos o método ExibirAluno(aluno) passando o aluno selecionado:


        public Form2(Aluno aluno , Acao.Operacao valor)
        {
            _valor = valor;
            InitializeComponent();
            ExibirAluno(aluno);
        }

O código do método ExibirAluno() e visto abaixo:

        private void ExibirAluno(Aluno aluno)
        {
            txtID.Text = aluno.AlunoId.ToString();
            txtNome.Text = aluno.Nome;
            txtEmail.Text = aluno.Email;
            txtNome.Focus();
        }

Este código apenas as propriedades do objeto aluno nas caixas de texto.

Ao clicar no botão Confirmar iremos verificar qual a ação a ser realizada executando o respectivo código:

       private void btnConfirmar_Click(object sender, System.EventArgs e)
        {
            var codigo = Convert.ToInt32(txtID.Text);
            if (_valor == Acao.Operacao.edit)
            {
                using (var context = new ApplicationDBContext())
                {
                    var aluno = context.Alunos.First(a => a.AlunoId == codigo);
                    aluno.Nome = txtNome.Text;
                    aluno.Email = txtEmail.Text;
                    context.SaveChanges();
                }
            }
            else if (_valor == Acao.Operacao.del)
            {
                using (var context = new ApplicationDBContext())
                {
                    var aluno = context.Alunos.First(a => a.AlunoId == codigo);
                    context.Remove(aluno);
                    context.SaveChanges();
                }
            }
            else if (_valor == Acao.Operacao.add)
            {
                using (var context = new ApplicationDBContext())
                {
                    Aluno aluno = new Aluno();
                    aluno.Nome = txtNome.Text;
                    aluno.Email = txtEmail.Text;
                    context.Add(aluno);
                    context.SaveChanges();
                }
            }
            this.Close();
        }

No código acima temos que :

1- para editar os dados do aluno selecionado

- Criamos uma instância do Contexto e obtemos o aluno selecionado pelo código. A seguir atribuimos os valores digitados às propriedades do objeto Aluno e usamos o método SaveChanges() para persistir os dados na tabela Alunos.

2- para excluir os dados do aluno selecionado

- Criamos uma instância do Contexto e obtemos o aluno selecionado pelo código. A seguir usamos o método Remove() para remover o aluno do contexto e usamos o método SaveChanges() para persistir os dados na tabela Alunos.

3- para incluir um novo aluno

- Criamos uma instância do Contexto e a seguir criamos um nova instância de Aluno atribuimos os valores digitados às propriedades do objeto e usamos o método Add() para incluir o aluno no contexto e depois o método  SaveChanges() para persistir os dados na tabela Alunos.

Finalmente temos o código do botão Sair que fecha o formulário e retorna para o formulário Form1.cs:

private void btnSair_Click(object sender, EventArgs e)
{
          this.Close();
}

Executando o projeto iremos constatar que nossa aplicação Windows Forms esta realizando o CRUD básico na tabela Alunos usando o EF Core 2.1.

Pegue o projeto aqui : WF_Aluno_EFCore.zip  (sem as referências...)

"Porque o reino de Deus não consiste em palavras, mas em poder."
1 Coríntios 4:20

 

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