Example #1
0
        protected void PreviewMessage(AsynchronousMessageQueue queue, SystemMessage message)
        {
            if (message.ChannelName != UserMessaging.CHANNEL)
            {
                return;
            }

            try
            {
                UserMessaging.MessageType messageType = (UserMessaging.MessageType)message.MessageType;
                switch (messageType)
                {
                case UserMessaging.MessageType.UserChanged:
                    UserChanged?.Invoke(this, EventArgs.Empty);
                    break;

                case UserMessaging.MessageType.RequestRestrictions:
                    RequestRestrictions?.Invoke(this, EventArgs.Empty);
                    break;
                }
            }
            catch (Exception e)
            {
                ServiceRegistration.Get <ILogger>().Error("Error handling UserMessage '{0}'", e, message.MessageType);
            }
        }
 protected void OnMessageReceived(AsynchronousMessageQueue queue, SystemMessage message)
 {
     if (message.ChannelName == UserMessaging.CHANNEL)
     {
         UserMessaging.MessageType messageType = (UserMessaging.MessageType)message.MessageType;
         switch (messageType)
         {
         // If the user has been changed, refresh the settings in every case.
         case UserMessaging.MessageType.UserChanged:
             RefreshAsync();
             break;
         }
     }
     if (message.ChannelName == SettingsManagerMessaging.CHANNEL)
     {
         SettingsManagerMessaging.MessageType messageType = (SettingsManagerMessaging.MessageType)message.MessageType;
         switch (messageType)
         {
         case SettingsManagerMessaging.MessageType.SettingsChanged:
             Type settingsType = (Type)message.MessageData[SettingsManagerMessaging.SETTINGSTYPE];
             // If our contained Type has been changed, clear the cache and reload it
             if (typeof(T) == settingsType)
             {
                 Refresh();
             }
             break;
         }
     }
 }