public IFaseCopa CrieInstancia(EnumFaseCopa enumFaseCopa) { if (_instanciasFases.ContainsKey(enumFaseCopa)) { return(_instanciasFases[enumFaseCopa]); } throw new ArgumentException(string.Format("Não foi encontrada uma fase para o indicador {0}", enumFaseCopa.ToString())); }
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 RegraFaseCopaAttribute(EnumFaseCopa final) => _faseCopa = final;
public void CrieInstancia(EnumFaseCopa enumfase, Type tipo) => Assert.IsType(tipo, FabricaFasesCopa.Singleton.CrieInstancia(enumfase));
public FaseCopaAttribute(EnumFaseCopa primeiraFase) => Fase = primeiraFase;