Example #1
0
        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("-------------------");
        }