示例#1
0
 /// <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());
 }
示例#2
0
        /// <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));
            }
        }