public CRUDNaoContempladosHandler(ICategoria categoria, INaoContempladosRepository repositorio)
 {
     _categoria   = categoria;
     _repositorio = repositorio;
 }
        public IActionResult Obter(int quantidade, [FromServices] FiltroNaoContempladosHandler handler, [FromServices] INaoContempladosRepository repositorio)
        {
            var familias   = repositorio.Obter(quantidade);
            var resultados = new List <ResultadoCommand>();

            familias.ToList().ForEach(familia =>
            {
                resultados.Add(handler.Tratar(new FiltrarPorCriterioRendaTotalCommand(familia.Id, familia.RendaTotal, familia.CategoriaRenda)) as ResultadoCommand);
                resultados.Add(handler.Tratar(new FiltrarPorCriterioPretendenteCommand(familia.Id, familia.Pessoas, familia.CategoriaIdadePretendente)) as ResultadoCommand);
                resultados.Add(handler.Tratar(new FiltrarPorCriterioDependenteCommand(familia.Id, familia.Pessoas, familia.CategoriaDependente)) as ResultadoCommand);

                familia.AdicionarPontuacao(resultados.Sum(r => r.Pontuacao));
                familia.AdicionarQuantidadeCriteriosAtendidos(resultados.Sum(r => r.QuantidadeCriteriosAtendidos));

                resultados.Clear();
            });

            return(Ok(familias));
        }