Esempio n. 1
0
 /// <summary>
 /// Handles the returned object.
 /// </summary>
 /// <param name="message">Object returned.</param>
 public async virtual Task HandleMessageAsync(TObjectType message)
 {
     if (MessageRecieved.GetInvocationList().Length > 0)
     {
         await Task.Run(() => MessageRecieved(this, new MessageEventArgs <TObjectType> {
             Object = message
         }));
     }
 }
Esempio n. 2
0
 public void removeListener(string eventName, Action <object, MessageBusEventArgs <T> > @delegate = default)
 {
     foreach (var MessageRecieveditem in MessageRecieved.GetInvocationList())
     {
         var _target          = (MessageRecieveditem.Target as Action <object, MessageBusEventArgs <T> >);
         var methodEventValue = _target.Method.GetCustomAttribute <OnEventAttribute>();
         if ((methodEventValue?.eventArgumentdata.Contains(eventName.ToLowerInvariant()) ?? false) && (@delegate == default || @delegate == _target))
         {
             methodEventValue.eventArgumentdata = methodEventValue?.eventArgumentdata.Where(e => e.ToLowerInvariant() != eventName.ToLowerInvariant()).ToArray();
             if ((methodEventValue.eventArgumentdata?.Length ?? 0) == 0)
             {
                 MessageRecieved -= new EventHandler <MessageBusEventArgs <T> >(_target);
             }
         }
     }
 }
Esempio n. 3
0
 public void Trigger(string eventName, object sender = null, T Message = default, bool isolate = false)
 {
     if (!exclusionEventList.Any(e => eventName.ToLowerInvariant().StartsWith(e.ToLowerInvariant())) && MessageRecieved != null)
     {
         foreach (var MessageRecieveditem in MessageRecieved.GetInvocationList())
         {
             var methodEventValue = (MessageRecieveditem.Target as Action <object, MessageBusEventArgs <T> >).Method.GetCustomAttribute <OnEventAttribute>();
             if (methodEventValue?.eventArgumentdata.Contains(eventName.ToLowerInvariant()) ?? false)
             {
                 MessageRecieveditem.DynamicInvoke(new object[] { sender, new MessageBusEventArgs <T>(this, eventName.ToLowerInvariant(), Message) });
                 if (!isolate)
                 {
                     if (!exclusionEventList.Any(e => eventName.ToLowerInvariant().StartsWith(e.ToLowerInvariant())))
                     {
                         var hubContext = GlobalHost.ConnectionManager.GetHubContext <MessageBusHub>();
                         hubContext.Clients.All.receivemessage(eventName, Message);
                     }
                 }
             }
         }
     }
     //MessageRecieved?.Invoke(sender, new MessageBusEventArgs<T>(Message));
 }