Exemplo n.º 1
0
        static void Main(string[] args)
        {
            Console.WriteLine("Builder");
            Console.WriteLine("");


            NotaFiscalBuilder builder = new NotaFiscalBuilder()
                                        .ParaEmpresa("123.456.789/0001-10", "N2S Software Ltda")
                                        .ParaDataAtual()
                                        .ComItem(new ItemDaNota("Notebook", 3500.0))
                                        .ComItem(new ItemDaNota("Impressora", 1000.0))
                                        .ComObservacoes("Nota de teste do design pattern builder")
                                        .AdicionarAcao(new EnviarNotaParaBancoDeDados()) // Adicionar acoes do observer
                                        .AdicionarAcao(new EnviarNotaPorEmail())
                                        .AdicionarAcao(new EnviarNotaPorSMS());


            NotaFiscal notaFiscal = builder.Build();

            Console.WriteLine($"Cnpj: {notaFiscal.Cnpj}");
            Console.WriteLine($"Razao Social: {notaFiscal.RazaoSocial}");
            Console.WriteLine($"Valor Bruto: {notaFiscal.ValorBruto}");
            Console.WriteLine($"Impostos: {notaFiscal.Impostos}");
            Console.WriteLine($"Observacoes: {notaFiscal.Observacoes}");

            Console.ReadKey();
        }
Exemplo n.º 2
0
        static void Main(string[] args)
        {
            ItemNota item1 = new ItemNotaBuilder()
                             .ComNome("item 1")
                             .ComValor(100.0)
                             .CriarItem();

            ItemNota item2 = new ItemNotaBuilder()
                             .ComNome("item 2")
                             .ComValor(200.0)
                             .CriarItem();

            ItemNota item3 = new ItemNotaBuilder()
                             .ComNome("item 3")
                             .ComValor(300.0)
                             .CriarItem();

            NotaFiscal nf = new NotaFiscalBuilder()
                            .ComRazaoSocial("Caelum")
                            .ComCnpj("123.456.789/0001-10")
                            .ComItem(item1)
                            .ComItem(item2)
                            .ComItem(item3)
                            .ComObservacoes("entregar nf pessoalmente")
                            .ComAcao(new EnviarEmail())
                            .ComAcao(new EnviarSMS())
                            .ComAcao(new NotaFiscalDAO())
                            .ComAcao(new Multiplicador(3))
                            .CriarNota();

            Console.WriteLine(nf.ValorBruto);
            Console.ReadKey();
        }
Exemplo n.º 3
0
        private static void Observer()
        {
            ItemDaNotaBuilder itemBuilder = new ItemDaNotaBuilder();

            itemBuilder
            .ComNome("item1")
            .ComValor(100);
            var item1 = itemBuilder.Constroi();

            itemBuilder
            .ComNome("item2")
            .ComValor(200);
            var item2 = itemBuilder.Constroi();

            itemBuilder
            .ComNome("item3")
            .ComValor(200);
            var item3 = itemBuilder.Constroi();

            List <IAcoesDaNotaFiscal> acoes = new List <IAcoesDaNotaFiscal>();

            acoes.Add(new EnviadorDeEmail());
            acoes.Add(new NotaFiscalDao());
            acoes.Add(new Multiplicador(2));

            NotaFiscalBuilder builder = new NotaFiscalBuilder(acoes);

            builder
            .ComRazaoSocial("Filomeno Advogados")
            .ComCnpj("24.093.094/0001.59")
            .Com(item1)
            .Com(item2)
            .Com(item3)
            .ComObservacoes("uma observacao qualquer");
            //.ComAcao(new EnviadorDeEmail())
            //.ComAcao(new NotaFiscalDao())
            //.ComAcao(new Multiplicador(2));


            NotaFiscal nota = builder.Constroi();

            nota.Imprime();

            Console.ReadKey();
        }
Exemplo n.º 4
0
        public static void Main(string[] args)
        {
            NotaFiscalBuilder criador = new NotaFiscalBuilder();

            criador.AdicionaAcao(new EnviadorDeEmail());
            criador.AdicionaAcao(new EnviadorDeSMS());
            criador.AdicionaAcao(new NotaFiscalDao());

            NotaFiscal nf = criador.ParaEmpresa("Caelum Ensino e Inovação")
                            .ComCnpj("23.467.789/0001-12")
                            .ComItem(new ItemNota("item 1", 100.0))
                            .ComItem(new ItemNota("item 2", 200.0))
                            .ComObservacoes("Uma obs qualquer")
                            .NaData(new DateTime(2008, 04, 14))
                            .Constroi();

            Console.ReadKey();
        }
Exemplo n.º 5
0
        static void ComDesignPattern()
        {
            NotaFiscalBuilder criadorNotaFiscal = new NotaFiscalBuilder();

            criadorNotaFiscal
            .AdicionarEmpresa("Empresa A")
            .AdicionarCnpj("00.000.000/1234-12")
            .AdicionarItem(new ItemNotaFiscal("Televisao", 800))
            .AdicionarItem(new ItemNotaFiscal("NoteBook", 2000))
            .NaDataAtual()
            .AdicionarObs("Observacao");

            criadorNotaFiscal.AdicionarAcao(new EnviadorEmail());
            criadorNotaFiscal.AdicionarAcao(new NotaFiscalDAL());
            criadorNotaFiscal.AdicionarAcao(new EnviadorSMS());

            NotaFiscal notaFiscal = criadorNotaFiscal.Construir();

            Console.WriteLine($"Valor Bruto da Nota Fiscal: R$ {notaFiscal.ValorBruto}");
            Console.WriteLine($"Valor dos Impostos da Nota Fiscal: R$ {notaFiscal.Impostos}");
        }
Exemplo n.º 6
0
        static void Main(string[] args)
        {
            List <AcaoAposGerarNota> acoes = new List <AcaoAposGerarNota>();

            acoes.Add(new EnviadorDeEmail());
            acoes.Add(new NotaFiscalDao());
            acoes.Add(new EnviadorDeSms());
            acoes.Add(new Impressora());

            NotaFiscal notafiscal = new NotaFiscalBuilder(acoes).paraEmpresa("Diego Pimentel")
                                    .comCnpj("XXX.XXX.XXX/0001-XX")
                                    .comItemAdd(new ItemDaNota("Teclado", 45.0))
                                    .comItemAdd(new ItemDaNota("Mouse", 12.0))
                                    .comItemAdd(new ItemDaNota("Monitor", 300.0))
                                    .comObservacao("Entregar nota fiscal em maos")
                                    .construir();


            Console.WriteLine("Razao Social: " + notafiscal.getRazaoSocial() + "CNPJ: " + notafiscal.getCnpj() + "Valor: " + notafiscal.getValorBruto());
            Console.ReadLine();
        }
Exemplo n.º 7
0
        static void Main(string[] args)
        {
            NotaFiscalBuilder criador = new NotaFiscalBuilder();

            criador.ParaEmpresa("Voonder")
            .ComCnpj("176.176.569.52")
            .ComItem(new ItemDaNota("item 1", 100.0))
            .ComItem(new ItemDaNota("item 2", 200.0))
            .NaDataAtual()
            .ComObservacoes("Teste de desing pattern do Builder");

            criador.AdicionaAcao(new EnviadorDeEmail());
            criador.AdicionaAcao(new EnviadorDeSms());
            criador.AdicionaAcao(new NotaFiscalDao());

            NotaFiscal nf = criador.Constroi();

            Console.WriteLine(nf.ValorBruto);
            Console.WriteLine(nf.Impostos);

            Console.ReadKey();
        }