/// <summary> /// /// </summary> /// <param name="id"></param> /// <param name="messageHandler"></param> public void RegisterMailBox(string id, MailBoxMessageHandler messageHandler) { if (!_mailBox.ContainsKey(id)) { _mailBox[id] = messageHandler; } }
/// <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) { }