private void SelectedSentenceChangedCommandExecute(object obj) { if ((SelectedSentence == null) || (SentenceEditViews == null)) { return; } if (SentenceEditViews.Any()) { var sentenceEditView = SentenceEditViews.FirstOrDefault( s => { var view = s as SentenceEditorView; if (view != null) { var sentenceEditorViewModel = view.DataContext as SentenceEditorViewModel; return (sentenceEditorViewModel != null) && (sentenceEditorViewModel.Sentence.Id == SelectedSentence.Id); } return false; }); var sentenceEditViewId = Guid.Empty; if (sentenceEditView != null) { sentenceEditViewId = sentenceEditView.ViewId; ActiveSentenceEditorView = sentenceEditView; } SelectedElementAttributeEditorViewModel = new ElementAttributeEditorViewModel( eventAggregator, sentenceEditViewId) { Attributes = SelectedSentence.Attributes }; } var sentenceIdAttribute = SelectedSentence.Attributes.FirstOrDefault(a => a.Name.Equals("id")); var documentIdAttribute = SelectedDocument.Attributes.FirstOrDefault(a => a.Name.Equals("id")); eventAggregator.GetEvent<StatusNotificationEvent>() .Publish( string.Format( "Selected sentence with ID: {0} from document with ID: {1}", sentenceIdAttribute != null ? sentenceIdAttribute.Value : string.Empty, documentIdAttribute != null ? documentIdAttribute.Value : string.Empty)); }
private void EditSentenceCommandExecute(object obj) { if ((SelectedSentence == null) || (SentenceEditViews == null)) { return; } var appConfig = appConfigMapper.Map(SelectedDocument.Model.GetAttributeByName("configurationFilePath")) .GetAwaiter() .GetResult(); if ((SelectedSentence.Words == null) || !SelectedSentence.Words.Any()) { LoadWordsForSentence(SelectedSentence, SelectedDocument.FilePath, appConfig.Filepath) .GetAwaiter() .GetResult(); } var sentenceEditView = new SentenceEditorView( new SentenceEditorViewModel( eventAggregator, appConfig, DataStructure, SelectedSentence, showInfoMessage), eventAggregator); SentenceEditViews.Add(sentenceEditView); ActiveSentenceEditorView = sentenceEditView; SelectedElementAttributeEditorViewModel = new ElementAttributeEditorViewModel( eventAggregator, sentenceEditView.ViewId) { Attributes = SelectedSentence.Attributes }; var sentenceIdAttribute = SelectedSentence.Attributes.FirstOrDefault(a => a.Name.Equals("id")); var documentIdAttribute = SelectedDocument.Attributes.FirstOrDefault(a => a.Name.Equals("id")); eventAggregator.GetEvent<StatusNotificationEvent>() .Publish( string.Format( "Editing sentence with ID: {0}, document ID: {1}", sentenceIdAttribute != null ? sentenceIdAttribute.Value : string.Empty, documentIdAttribute != null ? documentIdAttribute.Value : string.Empty)); }
private void OnAttributesChanged(ElementAttributeEditorViewModel newViewModel) { SelectedElementAttributeEditorViewModel = newViewModel; }