private void ProcessAlias(EntityJoin entity, string entityPath)
 {
     entity.Entity.GetFields()
         .OrderBy(f => f.ColumnName.Length)
         .Reverse()
         .Where(f => !f.IsEntity).ToList()
         .ForEach(field => ReplaceConditionField(entity, field, entityPath));
 }
 private object GetJoinValue(EntityJoin join)
 {
     return new EntityLoaderBuilder()
         .Entity(join.Entity)
         .Row(Row)
         .Columns(Columns)
         .PointerIndexColumn(Pointer)
         .Dictionary(DictionaryObjectsProcessed)
         .Build();
 }
        private EntityJoin Generate(Entity entity, Field field)
        {
            Alias alias = CreateAlias(entity, field);
            EntityJoin join = new EntityJoin(alias);

            entity.GetFields().Where(f => f.IsEntity).ToList()
                .ForEach(f => join.Joins.Add(Generate(f)));

            return join;
        }
        private void ReplaceConditionField(EntityJoin join, Field field, string entityPath)
        {
            FieldAliasReplacer replacer = new FieldAliasReplacerBuilder()
                .Entity(join)
                .Field(field)
                .SqlQuery(sqlCommand)
                .EntityPath(entityPath)
                .Builder();

            sqlCommand = replacer.Replace();
        }
Exemple #5
0
 private void LoadAliases()
 {
     TreeAliases = new EntityJoinsGenerator().Generate(this);
 }
 private void ProcessJoin(EntityJoin join)
 {
     SetFieldValue(join.Field, GetJoinValue(join));
 }
 private void ReplaceFieldsEntity(EntityJoin entity, string entityPath = "")
 {
     ProcessAlias(entity, entityPath);
     entity.Joins.ForEach(j => ReplaceFieldsEntity(j, GetCompletedNameField(entity, entityPath)));
 }
 private bool IsEntityMain(EntityJoin entity)
 {
     return entityMain == entity.Entity;
 }
 private string GetCompletedNameField(EntityJoin entity, string entityPath)
 {
     return IsEntityMain(entity) ? entity.Name : GetNameFieldWithEntityPath(entity, entityPath);
 }
 private string GetNameFieldWithEntityPath(EntityJoin join, string entityPath)
 {
     return String.Format("{0}.{1}",entityPath, join.Field.Name);
 }
 private bool IsEntityMain(EntityJoin join)
 {
     return join.Field == null;
 }
 private string GetCompletedNameField(EntityJoin join, string entityPath)
 {
     return IsEntityMain(join) ? GetEntityName(join) : GetNameFieldWithEntityPath(join, entityPath);
 }
 private static string GetEntityName(EntityJoin join)
 {
     return join.Entity.Type.Name;
 }
 public FieldAliasReplacerBuilder Join(EntityJoin join)
 {
     this.join = join;
     return this;
 }
Exemple #15
0
 private void LoadAliases()
 {
     TreeAliases = new EntityJoinsGenerator().Generate(this);
 }