public async void Handle(SelectedMessageChanged @event) { if (_loadingConversation) { return; } _loadingConversation = true; _originalSelectionId = string.Empty; _nodeMap.Clear(); SelectedMessage = null; Diagram = new MessageFlowDiagram(); var storedMessage = @event.Message; if (storedMessage == null) { _loadingConversation = false; return; } var conversationId = storedMessage.ConversationId; if (conversationId == null) { _loadingConversation = false; return; } try { var relatedMessagesTask = await _serviceControl.GetConversationById(conversationId); var nodes = relatedMessagesTask.ConvertAll(CreateMessageNode); CreateConversationNodes(storedMessage.Id, nodes); LinkConversationNodes(nodes); UpdateLayout(); } finally { _loadingConversation = false; } }
public MessageFlowViewModel( IServiceControl serviceControl, IEventAggregator eventAggregator, IContentDecoder <IList <HeaderInfo> > decoder, IHeaderInfoSerializer headerInfoSerializer, IClipboard clipboard, IStatusBarManager statusBar) { _serviceControl = serviceControl; _eventAggregator = eventAggregator; _decoder = decoder; _headerInfoSerializer = headerInfoSerializer; _clipboard = clipboard; _statusBar = statusBar; Diagram = new MessageFlowDiagram(); _nodeMap = new ConcurrentDictionary <string, MessageNode>(); }
public MessageFlowViewModel( IServiceControl serviceControl, IEventAggregator eventAggregator, IClipboard clipboard, IWindowManagerEx windowManager, IScreenFactory screenFactory, ISearchBarViewModel searchBar, IMessageListViewModel messageList, ISettingsProvider settingsProvider, IEndpointExplorerViewModel endpointExplorer) { _serviceControl = serviceControl; _eventAggregator = eventAggregator; _clipboard = clipboard; _windowManager = windowManager; _screenFactory = screenFactory; _searchBar = searchBar; _settingsProvider = settingsProvider; _messageList = messageList; _endpointExplorer = endpointExplorer; Diagram = new MessageFlowDiagram(); _nodeMap = new ConcurrentDictionary <string, MessageNode>(); }
public void Handle(SelectedMessageChanged message) { SelectedMessage = null; _nodeMap.Clear(); Diagram = new MessageFlowDiagram(); }