Esempio n. 1
0
        public static void Executar()
        {
            var arvore = new Produto("Árvore", Cor.Verde, Tamanho.Grande);
            var casa   = new Produto("Casa", Cor.Vermelho, Tamanho.Grande);
            var maca   = new Produto("Maçã", Cor.Vermelho, Tamanho.Pequeno);

            Produto[] produtos = { arvore, casa, maca };

            var filtro = new Filtro();

            var produtosGrandes = filtro.Filtrar(produtos, new TamanhoEspecificacao(Tamanho.Grande));

            Utils.ExibirMensagemDeFiltragem("produtos grandes", produtosGrandes);

            var produtosVermelhos = filtro.Filtrar(produtos, new CorEspecificacao(Cor.Vermelho));

            Utils.ExibirMensagemDeFiltragem("produtos vermelhos", produtosVermelhos);

            var produtosGrandesVermelhos = filtro.Filtrar(produtos,
                                                          new DoisFiltrosEspecificacao <Produto>(
                                                              new TamanhoEspecificacao(Tamanho.Grande),
                                                              new CorEspecificacao(Cor.Vermelho)
                                                              ));

            Utils.ExibirMensagemDeFiltragem("produtos grandes e vermelhos", produtosGrandesVermelhos);
        }
Esempio n. 2
0
        public List <T> FiltrarRegistros(ModeloRelatorio modelo, List <T> entidadeSet, DateTime dtInicial, DateTime dtFinal)
        {
            var filtro         = new Filtro();
            var modeloMapeador = new FiltroModeloRelatorioMapeador();
            var operador       = modeloMapeador.GetOperadores(modelo, dtInicial, dtFinal);

            return(filtro.Filtrar(operador, modelo, entidadeSet, dtInicial, dtFinal));
        }