Esempio n. 1
0
        public static void Main(string[] args)
        {
            ItemDaNotaBuilder idnb = new ItemDaNotaBuilder();

            idnb.ComDescricao("Item 1")
            .ComValor(100);

            ItemDaNota item1 = idnb.Constroi();

            idnb = new ItemDaNotaBuilder();
            idnb.ComDescricao("Item 2")
            .ComValor(200);

            ItemDaNota item2 = idnb.Constroi();

            NotaFiscalBuilder builder = new NotaFiscalBuilder(new List <IAcaoAposGerarNota> {
                new EnviaPorEmail(), new NotaFiscalDAO(), new Multiplicador(2)
            });

            builder.ParaEmpresa("Empresa Teste")
            .ComCnpj("123456789")
            .ComObservacoes("Observações da nota fiscal")
            .Com(item1)
            .Com(item2);

            NotaFiscal nf = builder.Constroi();

            Console.WriteLine($"Valor da nota fiscal: R$ {nf.ValorBruto:F2}");
            Console.WriteLine($"Valor dos impostos: R$ {nf.Impostos:F2}");

            Console.ReadKey();
        }
Esempio n. 2
0
        private static void Builder()
        {
            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();


            NotaFiscalBuilder builder = new NotaFiscalBuilder();

            builder
            .ComRazaoSocial("Filomeno Advogados")
            .ComCnpj("24.093.094/0001.59")
            .Com(item1)
            .Com(item2)
            .Com(item3)
            .ComObservacoes("uma observacao qualquer");

            NotaFiscal nota = builder.Constroi();

            nota.Imprime();

            Console.ReadKey();
        }