Baixe o app para aproveitar ainda mais
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
Compartilhar