示例#1
0
        public NF Gera(Fatura fatura)
        {
            double valor = fatura.ValorMensal;

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

            // Agora podemos ter 1, 2, 5, 10, 20 ações
            foreach (var acao in this.acoes)
            {
                acao.Executar(nf);
            }

            return(nf);
        }
示例#2
0
        static void Main(string[] args)
        {
            Fatura f = new Fatura(150.00, "Jimmy Rios Leung");
            IList <IAcaoAposGerarNF> acoes = new List <IAcaoAposGerarNF>();

            acoes.Add(new EnviadorEmail());
            acoes.Add(new NFDAO());
            GeradorNF geradorNF = new GeradorNF(acoes);
            var       nf        = geradorNF.Gera(f);

            Console.WriteLine("NF gerada com sucesso.");
            Console.WriteLine(String.Format("Valor Bruto: {0}", nf.ValorBruto));
            Console.WriteLine(String.Format("Valor Líquido: {0}", nf.ValorLiquido));
            Console.WriteLine(String.Format("Impostos: {0}", nf.Impostos));
            System.Threading.Thread.Sleep(10000);
        }