Example #1
0
        static void Main(string[] args)
        {
            var Contas = new List <Conta>();

            for (int i = 0; i < 10; i++)
            {
                var c = new Conta(i, i + 10 * i, Convert.ToString(i), DateTime.Now);
                Contas.Add(c);
            }
            Contas.Add(new Conta(13, 600000, "Delfo", new DateTime(2016, 11, 30)));
            Contas.Add(new Conta(14, 150000, "Felipe", new DateTime(2016, 11, 30)));
            var rc = new RelatorioComplexo();
            var rs = new RelatorioSimples();

            rc.Imprime(Contas);
            rs.Imprime(Contas);
            var r1 = new RespostaEmCSV();
            var r2 = new RespostaEmPorCento();
            var r3 = new RespostaEmXML();

            r1.proxima = r2;
            r2.proxima = r3;
            Filtro filtro    = new ContasComMenosDe100Reais(new FiltroMaisDe500KDeSaldo(new FiltroMesCorrente()));
            var    filtradas = filtro.Filtra(Contas);

            filtradas.ToList().ForEach(c => Console.WriteLine(c));
            Console.ReadKey();
        }
        public string Formata(Requisicao requisicao, Conta conta)
        {
            IResposta f3 = new RespostaEmPorcento(null);
            IResposta f2 = new RespostaEmCSV(f3);
            IResposta f1 = new RespostaEmXML(f2);

            return(f1.Responde(requisicao, conta));
        }