示例#1
0
        static void Main(string[] args)
        {
            var criador     = new NotaFiscalBuilder();
            var criadorItem = new ItemDaNotaBuilder();

            criador.ParaEmpresa("Thiago")
            .ComCnpj("23.456.789/0001-12")

            .ComItem(criadorItem.ComNome("Item1").ComValor(100).Controi())
            .ComItem(criadorItem.ComNome("Item2").ComValor(200).Controi())
            .NaData(DateTime.Now)
            .ComObs("uma obs qualquer");

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

            var nf = criador.Constroi();

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

            Console.ReadKey();
        }
示例#2
0
        static void Main(string[] args)
        {
            //AULA 1
            //IImposto iss = new ISS();
            //IImposto icms = new ICMS();

            //Orcamento orcamento = new Orcamento(500.0);

            //CalculadorDeImpostos calculador = new CalculadorDeImpostos();
            //calculador.RealizaCalculo(orcamento, iss);
            //calculador.RealizaCalculo(orcamento, icms);

            //AULA 2
            //CalculadorDeDescontos calculador = new CalculadorDeDescontos();

            //Orcamento orcamento = new Orcamento(500);
            //orcamento.AdicionaItem(new Item("CANETA", 500));
            //orcamento.AdicionaItem(new Item("LAPIS", 500));

            //double desconto = calculador.Calcula(orcamento);
            //Console.WriteLine(desconto);

            //AULA 4
            //Imposto iss = new ISS(new ICMS());
            //Orcamento orcamento = new Orcamento(500);
            //double valor = iss.Calcula(orcamento);
            //Console.WriteLine(valor);

            //AULA 5
            //Orcamento reforma = new Orcamento(500);
            //Console.WriteLine(reforma.Valor);
            //reforma.AplicaDescontoExtra();
            //Console.WriteLine(reforma.Valor);

            //reforma.Aprova();
            //reforma.AplicaDescontoExtra();
            //Console.WriteLine(reforma.Valor);
            //reforma.Finaliza();
            //reforma.AplicaDescontoExtra();

            //AULA 6
            NotaFiscalBuilder criador = new NotaFiscalBuilder();

            criador
            .ParaEmpresa("Fillipe Partiu Portugal")
            .ComCNPJ("12.234.456/0001-78")
            .ComItem(new ItemDaNota("item 1", 200.0))
            .ComItem(new ItemDaNota("item 2", 200.0));

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

            NotaFiscal nf = criador.Constroi();

            Console.WriteLine(nf.ValorBruto);
            Console.WriteLine(nf.Impostos);
        }
        private static void Builder1()
        {
            var criadorDeNotaFiscal = new NotaFiscalBuilder();
            var itens = new ItemDaNotaBuilder();

            criadorDeNotaFiscal
            .ParaEmpresa("LG")
            .ComCnpj("999.999.99-99")
            .ComItem(itens.ComNome("Sapato").ComValor(100).Controi())
            .ComItem(itens.ComNome("Calça").ComValor(500).Controi())
            .NaData(new DateTime(2017, 1, 18))
            .ComObservacoes("Teste obs ");

            var nf = criadorDeNotaFiscal.Constroi();

            Console.WriteLine(nf);
        }
示例#4
0
        private static void MotraNotaFiscal()
        {
            NotaFiscalBuilder criador = new NotaFiscalBuilder();

            criador.ParaEmpresa("Empresa 1")
            .ComCnpj("12039102930193")
            .ComItem(new ItemDaNota("Lapis", 100.00))
            .ComItem(new ItemDaNota("caneta", 1000.00))
            .NaDataAtual()
            .ComObservacoes("obs qualquer");

            NotaFiscal.NotaFiscal nf = criador.Constroi();

            Console.WriteLine(nf.Itens.Count);
            Console.WriteLine(nf.ValorBruto);
            Console.WriteLine(nf.Impostos);
        }
        private static void Observer1()
        {
            var listaDeAcoes = new List <IAcaoAposGerarNota>()
            {
                new EnviadorDeEmail(), new NotaFiscalDao(), new EnviadorPorSMS(), new Multiplicador(10)
            };
            var criadorDeNotaFiscal = new NotaFiscalBuilder(listaDeAcoes);
            var itens = new ItemDaNotaBuilder();

            criadorDeNotaFiscal
            .ParaEmpresa("LG")
            .ComCnpj("999.999.99-99")
            .ComItem(itens.ComNome("Sapato").ComValor(100).Controi())
            .ComItem(itens.ComNome("Calça").ComValor(500).Controi())
            .NaData(new DateTime(2017, 1, 18))
            .ComObservacoes("Teste obs ");

            var nf = criadorDeNotaFiscal.Constroi();

            Console.WriteLine(nf);
        }
示例#6
0
        static void Main(string[] args)
        {
            NotaFiscalBuilder criador = new NotaFiscalBuilder()
                                        .ParaEmpresas("Caelum")
                                        .ComCnpj("123.456.789/0001-10")
                                        .ComItem(new ItemDaNotaFiscal("item 1", 100.0))
                                        .ComItem(new ItemDaNotaFiscal("item 2", 200.0))
                                        //.ComItem(new ItemDaNotaFiscal("item 3", 300.0))
                                        .ComObservacoes("entregar nf pessoalmente")
                                        .NaDataAtual();

            criador.AdicionaAcao(new EnviaEmail());
            criador.AdicionaAcao(new NotaFiscalDAO());
            criador.AdicionaAcao(new EnviaSms());

            NotaFiscal nf = criador.Constroi();

            Console.WriteLine(nf.ValorBruto);
            Console.WriteLine(nf.Impostos);
            Console.ReadKey();
        }
        static void Main(string[] args)
        {
            NotaFiscalBuilder criador = new NotaFiscalBuilder(
                new List <AcaoAposGerarNota>()
            {
                new EnviadorDeEmail(),
                new NotaFiscalDao(),
                new EnviadorPorSms(),
                new Multiplicador(100)
            }).ParaEmpresa("TESTE")
                                        .ComCnpj("123456789")
                                        .ComI(new ItemDaNota("Item 1", 100.0))
                                        .ComI(new ItemDaNota("Item 2", 200.0))
                                        .NaData(DateTime.Parse("09/12/1989"))
                                        .ComObservacoes("CONSTRUINDO UMA NOTA FISCAL");


            NotaFiscal nota = criador.Constroi();

            Console.WriteLine(nota.ValorBruto);
            Console.WriteLine(nota.DataDeEmissao);

            Console.ReadKey();
        }
示例#8
0
        static void Main(string[] args)
        {
            /*Imposto iss = new ISS();
             * Imposto icms = new ICMS();
             * Imposto iccc = new ICCC();
             *
             * Orcamento orcamento = new Orcamento(3001);
             *
             * CalculadorDeImpostos calculadora = new CalculadorDeImpostos();
             */

            /*Investimento conservador = new Conservador();
             * Investimento moderado = new Moderado();
             * Investimento arrojado = new Arrojado();
             *
             * Conta marcelo = new Conta();
             *
             * marcelo.Deposita(50);
             *
             * RealizadorDeInvestimentos calInvest = new RealizadorDeInvestimentos();
             *
             * calInvest.Realiza(marcelo, conservador);
             * calInvest.Realiza(marcelo, moderado);
             * calInvest.Realiza(marcelo, arrojado);
             */
            /*
             * CalculadorDeDescontos calculador = new CalculadorDeDescontos();
             * Orcamento orcamento = new Orcamento(500);
             * orcamento.AdicionaItem(new Item("CANETA", 250));
             * orcamento.AdicionaItem(new Item("LAPIS", 250));
             * orcamento.AdicionaItem(new Item("copo", 250));
             *
             * double desconto = calculador.Calcula(orcamento);
             * Console.WriteLine(desconto);
             */
            /*
             * Conta marcelo = new Conta(100, "Marcelo");
             *
             * //CorrenteArquivo d4 = new CorrenteSemArquivo();
             * CorrenteArquivo d3 = new CorrenteXML();
             * CorrenteArquivo d2 = new CorrentePORCENTO(d3);
             * CorrenteArquivo d1 = new CorrenteCSV(d2);
             *
             *
             *
             *
             * d1.OutroResultado = d2;
             * d2.OutroResultado = d3;
             * d3.OutroResultado = d4;
             *
             * d1.Resultado(new Requisicao(Formato.PORCENTO), marcelo);
             * d1.Resultado(new Requisicao(Formato.XML), marcelo);
             * d1.Resultado(new Requisicao(Formato.CSV), marcelo);
             */
            /*
             * Imposto ikcv = new IKCV();
             * Imposto icpp = new ICPP();
             * Imposto ihit = new IHIT();
             *
             *
             * Orcamento orcamento = new Orcamento(100);
             * orcamento.AdicionaItem(new Item("CANETA", 250));
             * orcamento.AdicionaItem(new Item("LAPIS", 250));
             * orcamento.AdicionaItem(new Item("copo1", 250));
             * orcamento.AdicionaItem(new Item("copo6", 250));
             * orcamento.AdicionaItem(new Item("copo3", 250));
             * orcamento.AdicionaItem(new Item("copo2", 250));
             * orcamento.AdicionaItem(new Item("copo4", 250));
             * orcamento.AdicionaItem(new Item("copo5", 250));
             * orcamento.AdicionaItem(new Item("copo6", 250));
             * orcamento.AdicionaItem(new Item("copo7", 250));
             *
             *
             * CalculadorDeImpostos calculadora = new CalculadorDeImpostos();
             *
             * calculadora.RealizaCalculo(orcamento, ikcv);
             * calculadora.RealizaCalculo(orcamento, icpp);
             * calculadora.RealizaCalculo(orcamento, ihit);
             */

            /*IList<Conta> Contas;
             * Contas = new List<Conta>();
             * Contas.Add(new Conta(100, "Marcelo"));
             * Contas.Add(new Conta(200, "Gabriele"));
             * Contas.Add(new Conta(300, "Marco"));
             * Contas.Add(new Conta(400, "Marilene"));
             * Contas.Add(new Conta(500, "Ivani"));
             *
             * Relatorio complexo = new RelatorioComplexo();
             * Relatorio simples = new RelatorioSimples();
             *
             * Console.WriteLine("Complexo\n");
             * complexo.Impressao(Contas);
             *
             * Console.WriteLine("\n\nSimples\n" + simples);
             * simples.Impressao(Contas);
             */

            /*
             * Imposto impostoComplexo = new IMA(new ISS(new ICMS()));
             * Orcamento orcamento = new Orcamento(500.0);
             * double valor = impostoComplexo.Calcula(orcamento);
             * Console.WriteLine(valor);
             */

            /*
             * IList<Conta> Contas;
             * Contas = new List<Conta>();
             * Contas.Add(new Conta(100, "Marcelo"));
             * Contas.Add(new Conta(200, "Gabriele"));
             * Contas.Add(new Conta(300, "Marco"));
             * Contas.Add(new Conta(400, "Marilene"));
             * Contas.Add(new Conta(500, "Ivani"));
             * Filtro Filtro1 = new FiltroContaAberturaNoMes();
             * IList<Conta> ContasFiltradas;
             */

            /*
             * Orcamento reforma = new Orcamento(500.0);
             *
             * reforma.AplicaDescontoExtra();
             * Console.WriteLine(reforma.Valor);
             *
             * reforma.Aprova();
             *
             * reforma.AplicaDescontoExtra();
             * Console.WriteLine(reforma.Valor);
             *
             * reforma.Finaliza();
             *
             * // reforma.AplicaDescontoExtra(); lancaria excecao, pois não pode dar desconto nesse estado
             * // reforma.Aprova(); lança exceção, pois não pode ir para aprovado
             */

            /*
             * Conta marcelo = new Conta(500,"Marcelo");
             *
             * marcelo.Saca(100);
             * Console.WriteLine(marcelo.Saldo + " " + marcelo.Estado);
             *
             * marcelo.Saca(500);
             * Console.WriteLine(marcelo.Saldo + " " + marcelo.Estado);
             *
             * marcelo.Saca(500);
             * Console.WriteLine(marcelo.Saldo + " " + marcelo.Estado);
             *
             * marcelo.Deposita(300);
             * Console.WriteLine(marcelo.Saldo + " " + marcelo.Estado);
             */
            NotaFiscalBuilder criador = new NotaFiscalBuilder();

            criador.AdicionaAcao(new EnviadorDeEmail());
            criador.AdicionaAcao(new NotaFiscalDao());
            criador.AdicionaAcao(new EnviadorDeSms());
            criador.AdicionaAcao(new Impressora());
            criador.AdicionaAcao(new Multiplicador(2));

            criador.ParaEmpresa("Caelum")
            .ComCnpj("123.456.789/0001-10")
            .ComItem(new ItemDaNota("item 1", 100.0))
            .ComItem(new ItemDaNota("item 2", 200.0))
            .ComItem(new ItemDaNota("item 3", 300.0))
            .ComObservacoes("entregar nf pessoalmente");

            //.NaData();

            NotaFiscal nf = criador.Constroi();

            Console.WriteLine(nf);
            Console.ReadLine();
        }