private static void TestarAssociacaoAgregacaoComposicaoOrcamento() { var cliente = new Cliente("João", "123", new DateTime(1980, 1, 1)); Console.WriteLine(string.Format("João, sem nenhum orçamento associado: {0}.", cliente.Orcamentos.Count)); Console.WriteLine("-------------------"); var dell = new Marca(1, "Dell"); var hp = new Marca(2, "HP"); var mouse = new Produto(1, "Mouse", 5, 10, dell); var teclado = new Produto(2, "Teclado", 10, 20, hp); var orcamento = new Orcamento(cliente); orcamento.AdicionarItem(mouse, 2); orcamento.AdicionarItem(teclado, 1); Console.WriteLine(string.Format("João, com 1 orçamento associado: {0}.", cliente.Orcamentos.Count)); Console.WriteLine("-------------------"); Console.WriteLine("Produtos:"); foreach (var item in orcamento.Itens) { Console.WriteLine(string.Format("Item {0}, valor {1}, marca {2}", item.Produto.Descricao, item.Preco, item.Produto.Marca.Descricao)); } Console.WriteLine("-------------------"); orcamento.Dispose(); orcamento = null; Console.WriteLine("Orçamento e itens (composição) não existem mais. Mas o João continua existindo (agregação)."); Console.WriteLine("-------------------"); }
public ExemploIkcvIcpp() { IImposto ikcv = new Ikcv(); IImposto icpp = new Icpp(); var imposto = new CalculadorDeImpostos(); var orcamento = new Orcamento(); orcamento.AdicionarItem(new Item("Celular", 499.99)); Console.WriteLine("IKCV sobre " + orcamento.Valor); imposto.RealizarCalculo(orcamento, ikcv); Console.WriteLine("ICPP sobre " + orcamento.Valor); imposto.RealizarCalculo(orcamento, icpp); orcamento.AdicionarItem(new Item("Película", 0.01)); Console.WriteLine("IKCV sobre " + orcamento.Valor); imposto.RealizarCalculo(orcamento, ikcv); Console.WriteLine("ICPP sobre " + orcamento.Valor); imposto.RealizarCalculo(orcamento, icpp); orcamento.AdicionarItem(new Item("Tablet", 1000.01)); Console.WriteLine("IKCV sobre " + orcamento.Valor); imposto.RealizarCalculo(orcamento, ikcv); Console.WriteLine("ICPP sobre " + orcamento.Valor); imposto.RealizarCalculo(orcamento, icpp); }
public ExemploImpostoIHIT() { IImposto ihit = new Ihit(); var orcamento = new Orcamento(); orcamento.AdicionarItem(new Item("Caneta Azul", 2)); orcamento.AdicionarItem(new Item("Borracha", 1)); orcamento.AdicionarItem(new Item("Caneta", 2)); var calculador = new CalculadorDeImpostos(); calculador.RealizarCalculo(orcamento, ihit); orcamento.AdicionarItem(new Item("Caneta Azul", 2)); calculador.RealizarCalculo(orcamento, ihit); }
public ExemploDesconto() { Console.WriteLine("Exemplo de Desconto."); Orcamento orcamento = new Orcamento(); orcamento.AdicionarItem(new Item("Borracha", 5.00)); orcamento.AdicionarItem(new Item("Caneta", 2.00)); orcamento.AdicionarItem(new Item("Lapiseira", 2.00)); orcamento.AdicionarItem(new Item("Lapis", 1.00)); CalculadorDeDescontos calculador = new CalculadorDeDescontos(); Console.WriteLine("Total: " + orcamento.Valor); Console.WriteLine("Desconto: " + calculador.Calcula(orcamento)); }
public ExemploIccc() { Console.WriteLine("Exemplo de imposto ICCC."); IImposto iccc = new Iccc(); CalculadorDeImpostos calculador = new CalculadorDeImpostos(); Orcamento orcamento = new Orcamento(); orcamento.AdicionarItem(new Item("Televisor", 999.99)); calculador.RealizarCalculo(orcamento, iccc); orcamento.AdicionarItem(new Item("Plug", 0.01)); calculador.RealizarCalculo(orcamento, iccc); orcamento.AdicionarItem(new Item("Xbox", 2000.00)); calculador.RealizarCalculo(orcamento, iccc); orcamento.AdicionarItem(new Item("Plug", 0.01)); calculador.RealizarCalculo(orcamento, iccc); }
public ExemploIcmsIss() { Console.WriteLine("Exemplo de ICMS e ISS"); IImposto icms = new Icms(); IImposto iss = new Iss(); Orcamento orcamento = new Orcamento(); orcamento.AdicionarItem(new Item("Microondas", 500.00)); CalculadorDeImpostos calculador = new CalculadorDeImpostos(); calculador.RealizarCalculo(orcamento, icms); calculador.RealizarCalculo(orcamento, iss); }