コード例 #1
0
 internal static void DispatchEvent(EntityEvent entityEvent, Type entityType,
                                    BaseEntityContext context, DbEntityEntry entry)
 {
     foreach (var eventListener in entitiesChangedListeners.Where(c => TypeHelper.IsSameOrSubclass(c.Key, entityType)))
     {
         IEntityListener listener = (IEntityListener)Activator.CreateInstance(eventListener.Value, false);
         listener.OnEntityEvent(entityEvent, context, entry);
     }
 }
コード例 #2
0
            public override void PostCreate(BaseEntityContext context, DbEntityEntry createdEntries)
            {
                DynamicEntityContext dynamicContext = (DynamicEntityContext)context;
                var entity    = (IEntity)createdEntries.Entity;
                var attribute = dynamicContext.Create <IAttribute>();

                attribute.Name = "AttributeCreatedByTestListener";

                entity.Attributes.Add(attribute);

                context.SaveChanges();
            }
コード例 #3
0
        public void OnEntityEvent(EventDispatcher.EntityEvent entityEvent, BaseEntityContext context, DbEntityEntry entity)
        {
            switch (entityEvent)
            {
            case EventDispatcher.EntityEvent.PostUpdate:    PreUpdate(context, entity); break;

            case EventDispatcher.EntityEvent.PostDelete:    PostDelete(context, entity); break;

            case EventDispatcher.EntityEvent.PostCreate:    PostCreate(context, entity); break;

            case EventDispatcher.EntityEvent.PreUpdate:     PreUpdate(context, entity); break;

            case EventDispatcher.EntityEvent.PreDelete:     PreDelete(context, entity); break;

            case EventDispatcher.EntityEvent.PreCreate:     PreCreate(context, entity); break;
            }
        }
コード例 #4
0
 public override void PreDelete(BaseEntityContext context, DbEntityEntry deletingEntries)
 {
     throw new NotImplementedException();
 }
コード例 #5
0
 public override void PostUpdate(BaseEntityContext context, DbEntityEntry updatedEntries)
 {
     throw new NotImplementedException();
 }
コード例 #6
0
            public override void PreCreate(BaseEntityContext context, DbEntityEntry creatingEntries)
            {
                var entity = (IEntity)creatingEntries.Entity;

                entity.Name = "ModifiedByTestListener";
            }
コード例 #7
0
 public abstract void PreCreate(BaseEntityContext context, DbEntityEntry creatingEntries);
コード例 #8
0
 public abstract void PreDelete(BaseEntityContext context, DbEntityEntry deletingEntries);
コード例 #9
0
 public abstract void PreUpdate(BaseEntityContext context, DbEntityEntry updatingEntries);
コード例 #10
0
 public abstract void PostCreate(BaseEntityContext context, DbEntityEntry createdEntries);
コード例 #11
0
 public abstract void PostDelete(BaseEntityContext context, DbEntityEntry deletedEntries);
コード例 #12
0
 public abstract void PostUpdate(BaseEntityContext context, DbEntityEntry updatedEntries);