public IEnumerable <Familia> Classificar(FamiliaDto[] familiasDto) { var criterios = _criterioRepositorio.ObterTodos(); var familias = familiasDto.Where(f => f.Status == Status.CadastroValido) .Select(MapeadorDeFamilia.Mapear).ToList(); var pontuadorDeFamilias = new PontuacaoDeFamilias(); foreach (var familia in familias) { foreach (var criterio in criterios) { pontuadorDeFamilias.Pontuar(criterio, familia); } } var familiasOrdenadasPorPontuacao = familias.OrderByDescending(f => f.Pontuacao).ToList(); EnviarParaOContemplados(familiasOrdenadasPorPontuacao); return(familiasOrdenadasPorPontuacao); }
public PontuacaoDeFamiliasTeste() { _pontuacaoDeFamilias = new PontuacaoDeFamilias(); _criterioDeRendaInferiorA900 = new CriterioDeRendaInferiorA900(); }