Exemplo n.º 1
0
        public NotaFiscal Gera(Fatura fatura)
        {
            double valor = fatura.ValorMensal;

            NotaFiscal nf = new NotaFiscal(valor, ImpostoSimplesSobreO(valor));

            // agora apenas chamamos quem se "inscreveu" para axecutar alguma ação após Gerar
            foreach (var acao in _acoes)
            {
                acao.Executa(nf);
            }

            return(nf);
        }
Exemplo n.º 2
0
        static void Main(string[] args)
        {
            EnviadorDeEmail enviadorDeEmail = new EnviadorDeEmail();
            NotaFiscalDao   notaFiscalDao   = new NotaFiscalDao();

            var acoes = new List <IAcaoAposGerarNota>();

            acoes.Add(new EnviadorDeEmail());
            acoes.Add(new NotaFiscalDao());
            acoes.Add(new Sap());

            var    geradorDeNotaFiscal = new GeradorDeNotaFiscal(acoes);
            Fatura fatura = new Fatura(200, "José LeLé");

            geradorDeNotaFiscal.Gera(fatura);

            Console.ReadLine();
        }