/// <summary> /// Encontra uma entidade interando pelo vetor de entidades do QueryInfo baseano no alias e adiciona ela no dicionário de Entidades interno /// </summary> /// <param name="alias">alias da entidade</param> /// <returns>Entidade a ser retornada ou nulo caso não seja encontratada</returns> private EntityInfo FindAndAddEntity(string alias) { foreach (var entity in Entities) { if (alias == entity.Alias) { EntityAliasDictionary.Add(alias, entity); return(entity); } } throw new InvalidOperationException(ResourceMessageFormatter.Create(() => Properties.Resources.InvalidOperationException_NotFoundEntityFromAlias, alias).Format()); }
/// <summary> /// Encontra uma entidade baseado no seu alias /// </summary> /// <param name="alias">Alias da entidade</param> /// <returns>Entidade a ser retornada ou nulo caso não seja encontratada</returns> protected EntityInfo GetEntity(string alias) { if (EntityAliasDictionary == null) { EntityAliasDictionary = new Dictionary <string, EntityInfo>(); return(FindAndAddEntity(alias)); } EntityInfo entityInfo; if (EntityAliasDictionary.TryGetValue(alias, out entityInfo)) { return(entityInfo); } else { return(FindAndAddEntity(alias)); } }