Buscar

Aula_09 11 18b

Prévia do material em texto

Treinamento em C# WebDeveloper
	
Aula
06
	
	Sexta-feira, 09 de Novembro de 2018
	
	
	
Desenvolvimento Orientado a Objetos em C#
	
Criando testes executando Produto:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Projeto01.Entities; //importando
using Projeto01.Repositories; //importando
namespace Projeto01
{
 class Program
 {
 static void Main(string[] args)
 {
 ProdutoRepository produtoRepository = new ProdutoRepository();
 try
 {
 Console.WriteLine("\nCADASTRO DE PRODUTO\n");
 //criando um objeto para a classe Produto..
 Produto produto = new Produto();
 produto.Categoria = new Categoria();
 Console.Write("Informe o nome do produto........: ");
 produto.Nome = Console.ReadLine();
 Console.Write("Informe o preço do produto.......: ");
 produto.Preco = decimal.Parse(Console.ReadLine());
 Console.Write("Informe a quantidade do produto..: ");
 produto.Quantidade = int.Parse(Console.ReadLine());
 Console.Write("Informe o código da categoria....: ");
 produto.Categoria.IdCategoria = int.Parse(Console.ReadLine());
 //cadastrando no banco de dados..
 produtoRepository.AbrirConexao();
 produtoRepository.Inserir(produto);
 Console.WriteLine("\nProduto cadastrado com sucesso.");
 }
 catch(Exception e)
 {
 //imprimindo mensagem de erro..
 Console.WriteLine("\nOcorreu um erro: " + e.Message);
 }
 finally
 {
 produtoRepository.FecharConexao();
 }
 Console.ReadKey();
 }
 } 
}
Executando:
No banco de dados:
Consultando produtos:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Projeto01.Entities; //importando
using Projeto01.Repositories; //importando
namespace Projeto01
{
 class Program
 {
 static void Main(string[] args)
 { 
 ProdutoRepository produtoRepository = new ProdutoRepository();
 try
 {
 Console.WriteLine("\nCADASTRO DE PRODUTO\n");
 //criando um objeto para a classe Produto..
 Produto produto = new Produto();
 produto.Categoria = new Categoria();
 Console.Write("Informe o nome do produto........: ");
 produto.Nome = Console.ReadLine();
 Console.Write("Informe o preço do produto.......: ");
 produto.Preco = decimal.Parse(Console.ReadLine());
 Console.Write("Informe a quantidade do produto..: ");
 produto.Quantidade = int.Parse(Console.ReadLine());
 Console.Write("Informe o código da categoria....: ");
 produto.Categoria.IdCategoria = int.Parse(Console.ReadLine());
 //cadastrando no banco de dados..
 produtoRepository.AbrirConexao();
 produtoRepository.Inserir(produto);
 Console.WriteLine("\nProduto cadastrado com sucesso.");
 Console.WriteLine("\n\tCONSULTA DE PRODUTOS\n");
 //varrer a listagem de produtos obtida do banco de dados..
 foreach(Produto registro in produtoRepository.Consultar())
 {
 Console.WriteLine("\tProduto -> " 
				+ registro.ToString());
 Console.WriteLine("\tCategoria -> " 
				+ registro.Categoria.ToString());
 Console.WriteLine("\t...");
 }
 }
 catch(Exception e)
 {
 //imprimindo mensagem de erro..
 Console.WriteLine("\nOcorreu um erro: " + e.Message);
 }
 finally
 {
 produtoRepository.FecharConexao();
 }
 Console.ReadKey();
 }
 }
}
Executando
Novo projeto:
Criando uma classe de entidade:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Projeto02.Entities
{
 public class Aluno
 {
 //propriedades [prop] + 2x[tab]
 public int IdAluno { get; set; }
 public string Nome { get; set; }
 public string Email { get; set; }
 //construtor default [ctor] + 2x[tab]
 public Aluno()
 {
 //vazio
 }
 //sobrecarga de construtores (overloading)
 public Aluno(int idAluno, string nome, string email)
 {
 IdAluno = idAluno;
 Nome = nome;
 Email = email;
 }
 //sobrescrita do método ToString()
 public override string ToString()
 {
 return $"Id: {IdAluno}, Nome: {Nome}, Email: {Email}";
 }
 }
}
Mapas (Dictionary)
Forma de armazenar valores em C# utilizando 
o padrão de CHAVE -> VALOR, por exemplo:
CHAVE 	VALOR
ALUNO01	new Aluno(1, "Ana", "ana@gmail.com")
ALUNO02	new Aluno(1, "Ana", "ana@gmail.com")
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Projeto02.Entities; //importando..
namespace Projeto02
{
 class Program
 {
 static void Main(string[] args)
 {
 Aluno aluno1 = new Aluno(1, "Ana", "ana@gmail.com");
 Aluno aluno2 = new Aluno(2, "Leo", "leo@gmail.com");
 Aluno aluno3 = new Aluno(3, "Rui", "rui@gmail.com");
 //criar um "MAPA" para armazenar os objetos..
 Dictionary<string, Aluno> mapa = new Dictionary<string, Aluno>();
 //armazenar os objetos dentro do mapa..
 mapa.Add("ALUNO01", aluno1);
 mapa.Add("ALUNO02", aluno2);
 mapa.Add("ALUNO03", aluno3);
 Console.WriteLine("\nCONSULTA DE ALUNOS COM MAPA\n");
 foreach(KeyValuePair<string, Aluno> registro in mapa)
 {
 Console.WriteLine($"\t{registro.Key} 
					-> {registro.Value.ToString()}");
 }
 Console.Write("\nInforme a chave desejada....: ");
 string chave = Console.ReadLine();
 //verificando se a chave informada existe dentro do mapa..
 if(mapa.ContainsKey(chave))
 {
 //obter o aluno contido no mapa na chave especificada..
 Aluno aluno = mapa[chave];
 //imprimindo os dados do aluno..
 Console.WriteLine("\n\tALUNO -> " + aluno.ToString());
 }
 else
 { 
 Console.WriteLine("\n\tALUNO NÃO ENCONTRADO.");
 }
 Console.ReadKey(); //pausar
 }
 }
}
6

Continue navegando