Beispiel #1
0
 public static void Execute <TFilter>(EntitiesIterator iterator, Action <TFilter> action)
 {
     foreach (var item in iterator.Items.OfType <TFilter>())
     {
         action(item);
     }
 }
Beispiel #2
0
        public static EntitiesIterator Create <T>(T entity)
        {
            EntitiesIterator iterator = new EntitiesIterator();

            iterator.Visit(entity);
            return(iterator);
        }
Beispiel #3
0
 internal static void Traverse(this Order entity, EntitiesIterator visitor)
 {
     if (entity.Customer != null)
     {
         visitor.Visit(entity.Customer);
     }
 }
Beispiel #4
0
        public static void Execute <TEntity, TFilter>(TEntity entity, Action <TFilter> action)
        {
            EntitiesIterator iterator = EntitiesIterator.Create(entity);

            foreach (var item in iterator.Items.OfType <TFilter>())
            {
                action(item);
            }
        }
Beispiel #5
0
 internal static void Traverse(this Customer entity, EntitiesIterator visitor)
 {
     if (entity.Orders != null)
     {
         foreach (var value in entity.Orders)
         {
             visitor.Visit(value);
         }
     }
 }
Beispiel #6
0
 public static T StartTrackingAll <T>(this T entity) where T : IObjectWithChangeTracker
 {
     EntitiesIterator.Execute(entity, (IObjectWithChangeTracker e) => { e.StartTracking(); });
     return(entity);
 }