Пример #1
0
 /// <summary>
 /// Subscribe data access event in global area
 /// </summary>
 /// <param name="eventHandler">Event handler</param>
 public void SubscribeAll(IDataAccessEventHandler eventHandler)
 {
     if (eventHandler == null)
     {
         return;
     }
     overallDataAccessEventHandlerCollection.Add(eventHandler);
 }
Пример #2
0
        /// <summary>
        /// Subscribe entity data access event
        /// </summary>
        /// <typeparam name="TEvent">Event type</typeparam>
        /// <param name="entityType">Entity type</param>
        /// <param name="eventHandler">Event handler</param>
        public void SubscribeEntity <TEvent>(Type entityType, IDataAccessEventHandler eventHandler)
        {
            if (entityType == null || eventHandler == null)
            {
                return;
            }
            var eventType = typeof(TEvent);

            SubscribeEntity(entityType, eventType, eventHandler);
        }
Пример #3
0
 /// <summary>
 /// Subscribe entity data access event in global area
 /// </summary>
 /// <param name="entityType">Entity type</param>
 /// <param name="eventHandler">handler</param>
 public void SubscribeEntityAll(Type entityType, IDataAccessEventHandler eventHandler)
 {
     if (entityType == null || eventHandler == null)
     {
         return;
     }
     if (!entityOverallEventHandlerCollection.TryGetValue(entityType.GUID, out var eventHandlers) || eventHandlers.IsNullOrEmpty())
     {
         eventHandlers = new List <IDataAccessEventHandler>();
     }
     eventHandlers.Add(eventHandler);
     entityOverallEventHandlerCollection[entityType.GUID] = eventHandlers;
 }
Пример #4
0
 /// <summary>
 /// Subscribe data access event
 /// </summary>
 /// <param name="eventType">Event type</param>
 /// <param name="eventHandler">Event handler</param>
 public void Subscribe(Type eventType, IDataAccessEventHandler eventHandler)
 {
     if (eventHandler == null || eventType == null)
     {
         return;
     }
     if (!typeof(IDataAccessEvent).IsAssignableFrom(eventType))
     {
         throw new EZNEWException($"{nameof(eventType.FullName)} not implementation {nameof(IDataAccessEvent)}");
     }
     if (!specificDataAccessEventHandlerCollection.TryGetValue(eventType.GUID, out List <IDataAccessEventHandler> eventHandlers) || eventHandlers == null)
     {
         eventHandlers = new List <IDataAccessEventHandler>();
     }
     eventHandlers.Add(eventHandler);
     specificDataAccessEventHandlerCollection[eventType.GUID] = eventHandlers;
 }
Пример #5
0
 /// <summary>
 /// Subscribe aggregate function event
 /// </summary>
 /// <param name="eventHandler">Event handler</param>
 /// <param name="applyToEntity">Apply to entity</param>
 /// <param name="entityTypes">Entity types</param>
 public static void SubscribeAggregateFunction(IDataAccessEventHandler eventHandler, bool applyToEntity = false, params Type[] entityTypes)
 {
     if (eventHandler == null || (applyToEntity && entityTypes.IsNullOrEmpty()))
     {
         return;
     }
     if (applyToEntity)
     {
         foreach (var entity in entityTypes)
         {
             SubscribeEntity <AggregateFunctionEvent>(entity, eventHandler);
         }
     }
     else
     {
         Subscribe <AggregateFunctionEvent>(eventHandler);
     }
 }
Пример #6
0
 /// <summary>
 /// Subscribe entity data access event
 /// </summary>
 /// <param name="entityType">Entity type</param>
 /// <param name="eventType">Event type</param>
 /// <param name="eventHandler">Event handler</param>
 public void SubscribeEntity(Type entityType, Type eventType, IDataAccessEventHandler eventHandler)
 {
     if (entityType == null || eventType == null || eventHandler == null)
     {
         return;
     }
     if (!typeof(IDataAccessEvent).IsAssignableFrom(eventType))
     {
         throw new EZNEWException($"{nameof(eventType.FullName)} not implementation {nameof(IDataAccessEvent)}");
     }
     if (!entityDataAccessEventHandlerCollection.TryGetValue(entityType.GUID, out Dictionary <Guid, List <IDataAccessEventHandler> > entityEventHandlers) || entityEventHandlers == null)
     {
         entityEventHandlers = new Dictionary <Guid, List <IDataAccessEventHandler> >();
     }
     if (!entityEventHandlers.TryGetValue(eventType.GUID, out var eventHandlers) || eventHandlers.IsNullOrEmpty())
     {
         eventHandlers = new List <IDataAccessEventHandler>();
     }
     eventHandlers.Add(eventHandler);
     entityEventHandlers[eventType.GUID] = eventHandlers;
     entityDataAccessEventHandlerCollection[entityType.GUID] = entityEventHandlers;
 }
Пример #7
0
 /// <summary>
 /// Subscribe entity data access event
 /// </summary>
 /// <typeparam name="TEntity">Entity type</typeparam>
 /// <typeparam name="TEvent">Event type</typeparam>
 /// <param name="eventHandler">Event handler</param>
 public static void SubscribeEntity <TEntity, TEvent>(IDataAccessEventHandler eventHandler) where TEvent : class, IDataAccessEvent
 {
     SubscribeEntity <TEvent>(typeof(TEntity), eventHandler);
 }
Пример #8
0
 /// <summary>
 /// Subscribe entity data access event
 /// </summary>
 /// <typeparam name="TEvent">Event type</typeparam>
 /// <param name="entityType">Entity type</param>
 /// <param name="eventHandler">Event handler</param>
 public static void SubscribeEntity <TEvent>(Type entityType, IDataAccessEventHandler eventHandler) where TEvent : class, IDataAccessEvent
 {
     SubscribeEntity(entityType, typeof(TEvent), eventHandler);
 }
Пример #9
0
 /// <summary>
 /// Subscribe entity data access event
 /// </summary>
 /// <param name="entityType">Entity type</param>
 /// <param name="eventType">Event type</param>
 /// <param name="handler">Event handler</param>
 public static void SubscribeEntity(Type entityType, Type eventType, IDataAccessEventHandler handler)
 {
     GlobalDataAccessEventManager.SubscribeEntity(entityType, eventType, handler);
 }
Пример #10
0
 /// <summary>
 /// Subscribe entity data access event in global area
 /// </summary>
 /// <param name="eventHandler">Event handler</param>
 public static void SubscribeEntityAll <T>(IDataAccessEventHandler eventHandler)
 {
     SubscribeEntityAll(typeof(T), eventHandler);
 }
Пример #11
0
 /// <summary>
 /// Subscribe data access event
 /// </summary>
 /// <param name="eventType">Event type</param>
 /// <param name="eventHandler">Event handler</param>
 public static void Subscribe(Type eventType, IDataAccessEventHandler eventHandler)
 {
     GlobalDataAccessEventManager.Subscribe(eventType, eventHandler);
 }
Пример #12
0
 /// <summary>
 /// Subscribe data access event in global area
 /// </summary>
 /// <param name="eventhandler">Event handler</param>
 public static void SubscribeAll(IDataAccessEventHandler eventhandler)
 {
     GlobalDataAccessEventManager.SubscribeAll(eventhandler);
 }
Пример #13
0
        /// <summary>
        /// Subscribe entity data access event in global area
        /// </summary>
        /// <param name="eventHandler">Event handler</param>
        public void SubscribeEntityAll <T>(IDataAccessEventHandler eventHandler)
        {
            var entityType = typeof(T);

            SubscribeEntityAll(entityType, eventHandler);
        }
Пример #14
0
 /// <summary>
 /// Subscribe data access event
 /// </summary>
 /// <typeparam name="TEvent">Event type</typeparam>
 /// <param name="eventHandler">Event handler</param>
 public void Subscribe <TEvent>(IDataAccessEventHandler eventHandler) where TEvent : class, IDataAccessEvent
 {
     Subscribe(typeof(TEvent), eventHandler);
 }