.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:
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#
Curso Fundamentos da Programação Orientada a Objetos com VB .NET
Jose C Macoratti (@macorati) | TwitterSeção Entity Framework - Macoratti .NET