private IRegraDefinicaoPartida ObtenhaRegraPeloPartidasPelaFase(EnumFaseCopa enumFase) { IRegraDefinicaoPartida regra = null;; Assembly.GetAssembly(typeof(FabricaFasesCopa)).GetTypes().ToList() .ForEach(tipo => { tipo.GetCustomAttributes(false).ToList() .ForEach(atributo => { var atributoFaseCalculo = atributo as RegraFaseCopaAttribute; if (atributoFaseCalculo != null) { regra = Activator.CreateInstance(tipo) as IRegraDefinicaoPartida; } }); }); return(regra); }
public CopaPrimeiraFase(IRegraDefinicaoPartida regraDefinicaoPartida) => _regraDefinicaoPartida = regraDefinicaoPartida;
public CopaFinal(IRegraDefinicaoPartida regraDefinicaoPartida) => _regraDefinicaoPartida = regraDefinicaoPartida;
public CopaSemifinais(IRegraDefinicaoPartida regraDefinicaoPartida) => _regraDefinicaoPartida = regraDefinicaoPartida;