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)); }