Exemple #1
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="id"></param>
 /// <param name="messageHandler"></param>
 public void RegisterMailBox(string id, MailBoxMessageHandler messageHandler)
 {
     if (!_mailBox.ContainsKey(id))
     {
         _mailBox[id] = messageHandler;
     }
 }
Exemple #2
0
 /// <summary>
 ///  Send a message from a view module to another view module.
 /// </summary>
 /// <param name="viewModuleId">Identifier of the view model</param>
 /// <param name="payLoad">Message to be sent directly to the view model</param>
 public void SendMessage(string viewModuleId, DataPayLoad payLoad)
 {
     if (_mailBox.ContainsKey(viewModuleId))
     {
         MailBoxMessageHandler messageHandler = _mailBox[viewModuleId];
         messageHandler?.Invoke(payLoad);
     }
     else
     {
         if (payLoad.PayloadType == DataPayLoad.Type.Delete)
         {
             NotifyObserverSubsystem(viewModuleId, payLoad);
             return;
         }
         if (payLoad.PrimaryKeyValue == null)
         {
             NotifyObserverSubsystem(viewModuleId, payLoad);
             return;
         }
         // second chance
         string primaryKeyValue = viewModuleId + "." + payLoad.PrimaryKeyValue;
         if (_mailBox.ContainsKey(primaryKeyValue))
         {
             MailBoxMessageHandler messageHandler = _mailBox[primaryKeyValue];
             messageHandler?.Invoke(payLoad);
         }
     }
 }
 public void RegisterMailBox(string id, MailBoxMessageHandler messageHandler)
 {
     throw new NotImplementedException();
 }
 public void RegisterMailBox(string id, MailBoxMessageHandler messageHandler)
 {
 }