Exemplo n.º 1
0
        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));
        }
Exemplo n.º 2
0
        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));
        }
Exemplo n.º 3
0
 private void OnAttributesChanged(ElementAttributeEditorViewModel newViewModel)
 {
     SelectedElementAttributeEditorViewModel = newViewModel;
 }