public void Fechar(Fase fase) { using (var unidadeDeTrabalho = _fabricaDeUnidadeDeTrabalho.Criar()) { unidadeDeTrabalho.Iniciar(); fase.Grupos.ForEach(g => { g.Rodadas.ForEach(r => { r.Partidas.ForEach(p => { var partida = _partidaServicoAplicacao.RecuperarPorId(p.Id); partida.GolsTimeAway = p.GolsTimeAway; partida.GolsTimeHome = p.GolsTimeHome; _partidaServicoAplicacao.FecharPartida(partida); }); }); }); _rankingServicoAplicacao.RealizaRanking(fase.Campeonato); unidadeDeTrabalho.Completar(); } }