.NET Core - Implementando o padrão Repositório - V


  Hoje veremos como implementar o padrão repositório na plataforma .NET Core.

Continuando o artigo anterior vamos criar o projeto Console e testar o projeto criado.

Criando o projeto Console

Clique no menu File ->Add -> New Project;

Selecione .NET Core e o template Console App(.NET Core);

Informe o nome TesteRepo e clique em OK;

Marque este projeto como o que vai iniciar definindo : Set as Startup Project.

Neste momento a estrutura da nossa solução deverá estar assim:

Na classe Program vamos criar uma pequena aplicação console que vai testar as funcionalidades para incluir, excluir, atualizar e listar os clientes da tabela Clientes do banco de dados SQL Server.

Assim no método Main() inclua o código abaixo que define essas opções :

      using BusinessLogic;
      using DataAccess.Domain;
      using System;
        static void Main(string[] args)
        {
            int opcao = 1;
            do
            {
                Console.WriteLine("[ 1 ] Incluir Cliente");
                Console.WriteLine("[ 2 ] Excluir Cliente");
                Console.WriteLine("[ 3 ] Atualizar Cliente");
                Console.WriteLine("[ 4 ] Listar Clientes");
                Console.WriteLine("[ 0 ] Sair do Programa");
                Console.WriteLine("-------------------------------------");
                Console.Write("Digite uma opção: ");
                opcao = Int32.Parse(Console.ReadLine());
                switch (opcao)
                {
                    case 1:
                        incluirCliente();
                        break;
                    case 2:
                        excluirCliente();
                        break;
                    case 3:
                        atualizarCliente();
                        break;
                    case 4:
                        listarClientes();
                        break;
                    default:
                        saiPrograma();
                        break;
                }
                Console.ReadKey();
                Console.Clear();
            }
            while (opcao != 0);
        }

A seguir temos os métodos que irão realizar cada uma das operações:

1- incluirCliente

 private static void incluirCliente()
 {
            using (var bll = new ClienteBusinessLogic())
            {
                try
                {
                    Cliente cli = new Cliente();
                    Console.WriteLine("Informe o nome do cliente ");
                    string nome = Console.ReadLine();
                    cli.Nome = nome;
                    Console.WriteLine("Informe o email do cliente ");
                    string email = Console.ReadLine();
                    cli.Email = email;
                    bll.AdicionarCliente(cli);
                    Console.WriteLine("Cliente incluido com sucesso");
                }
                catch (Exception ex)
                {
                    Console.WriteLine("Erro ao incluir cliente : " + ex.Message);
                }
            }
 }

2- excluirCliente

private static void excluirCliente()
{
            using (var bll = new ClienteBusinessLogic())
            {
                try
                {
                    Console.WriteLine("Informe o codigo do cliente");
                    int codigo = Int32.Parse(Console.ReadLine());
                    var cliente = bll.GetClientePorId(codigo);
                    bll.ExcluirCliente(cliente);
                    Console.WriteLine("Cliente excluido com sucesso");
                }
                catch (Exception ex)
                {
                    Console.WriteLine("Erro ao excluir cliente : " + ex.Message);
                }
            }
}

3- atualizarCliente

private static void atualizarCliente()
{
            using (var bll = new ClienteBusinessLogic())
            {
                try
                {
                    Console.WriteLine("Informe o codigo do cliente a atualizar");
                    int codigo = Int32.Parse(Console.ReadLine());
                    var cliente = bll.GetClientePorId(codigo);
                    Console.WriteLine("Informe o nome do cliente ");
                    string nome = Console.ReadLine();
                    cliente.Nome = nome;
                    Console.WriteLine("Informe o email do cliente ");
                    string email = Console.ReadLine();
                    cliente.Email = email;
                    bll.AlterarCliente(cliente);
                    Console.WriteLine("Cliente Atualizado com sucesso");
                }
                catch (Exception ex)
                {
                    Console.WriteLine("Erro ao excluir cliente : " + ex.Message);
                }
            }
 }

4- listarClientes

private static void listarClientes()
 {
            using (var bll = new ClienteBusinessLogic())
            {
                var clientes = bll.ListarClientes();
                foreach (var cli in clientes)
                {
                    Console.WriteLine($"{cli.ClienteId} - {cli.Nome} - {cli.Email}");
                }
            }
}

5- saiPrograma

 private static void saiPrograma()
 {
            Console.WriteLine();
            Console.WriteLine("Você encerrou o Programa. Clique qq tecla para sair...");
 }

Agora é só alegria...

Executando o projeto e testando cada opção obtemos o resultado abaixo:

Concluimos assim a implementação do padrão repositório e unit of work na plataforma .NET Core.

Pegue o projeto aqui:  EstudoRepo.zip

"Eu sou o Alfa e o Ômega, o princípio e o fim, diz o Senhor, que é, e que era, e que há de vir, o Todo-Poderoso. "
Apocalipse 1:8

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 ?

 

  Gostou ?   Compartilhe no Facebook   Compartilhe no Twitter

Referências:


José Carlos Macoratti