Пример #1
0
        public IEntityList <ITrueEntity> ConvertToTrueEntityList()
        {
            EntityList <ITrueEntity> result = new EntityList <ITrueEntity>();

            foreach (T entity in this)
            {
                ITrueEntity trueEntity;
                if (TrueEntity.TryToTrueEntity(entity, out trueEntity))
                {
                    result.Add(trueEntity);
                }
            }
            return(result);
        }
Пример #2
0
 /// <summary>
 /// Convert all IRelationshipEntity to corresponding IRelationship.
 /// </summary>
 /// <param name="builder"></param>
 /// <returns></returns>
 public static void UseConvertRelationshipEntityToRelationshipRule(IEntityGraphBuilder builder)
 {
     foreach (IEntityList <IEntity> sentence in builder.Source.Split(new IEntity[] { SeparatorEntity.Dot, SeparatorEntity.Comma }))
     {
         IEntity[] relationshipEntities = sentence.FindAllByType(typeof(RelationshipEntity));
         if (relationshipEntities != null && relationshipEntities.Length == 1)
         {
             IEntity[] leftClassEntities  = sentence.GetLeftPartFrom(relationshipEntities[0]).FindAllByType(typeof(IClassEntity));
             IEntity[] rightClassEntities = sentence.GetRightPartFrom(relationshipEntities[0]).FindAllByType(typeof(IClassEntity));
             if (leftClassEntities != null && leftClassEntities.Length == 1 &&
                 rightClassEntities != null && rightClassEntities.Length == 1)
             {
                 //Add Relationship
                 IRelationship relation = RelationshipAdapter.CreateRelationship(relationshipEntities[0] as RelationshipEntity);
                 relation.Entities.Add(TrueEntity.ToTrueEntity(leftClassEntities[0]));
                 relation.Entities.Add(TrueEntity.ToTrueEntity(rightClassEntities[0]));
                 builder.Add(relation);
             }
         }
     }
 }