private void EditProfile()
        {
            var addNoteViewModel = new AddEditNoteViewModel
            {
                Name = SelectedProfile.Name
            };

            addNoteViewModel.OnSaveAction = () =>
            {
                if (NoteService.CurrentNotesAppSettings.AutoNoteProfile == SelectedProfile.Name)
                {
                    NoteService.CurrentNotesAppSettings.AutoNoteProfile = addNoteViewModel.Name;
                }

                SelectedProfile.Name = addNoteViewModel.Name;

                NoteService.SaveAppSettings();

                eventAggregator.GetEvent <RefreshSettingsEvent>().Publish(new RefreshSettingsEventArgs());
            };

            var popupEventArgs = new RaisePopupEventArgs()
            {
                Title   = CommonResourceManager.Instance.GetResourceString("XRay_AddEditNoteView_EditProfileTitle"),
                Content = new AddEditNoteView(addNoteViewModel)
            };

            eventAggregator.GetEvent <RaisePopupEvent>().Publish(popupEventArgs);
        }
        private void EditNote()
        {
            var treeEditableObject = SelectedStage as NoteTreeEditableObject;

            if (treeEditableObject == null)
            {
                return;
            }

            var addNoteViewModel = new AddEditNoteViewModel
            {
                Name = treeEditableObject.Name
            };

            addNoteViewModel.OnSaveAction = () =>
            {
                treeEditableObject.Name = addNoteViewModel.Name;
                SaveNote();
            };

            var popupEventArgs = new RaisePopupEventArgs()
            {
                Title = treeEditableObject is NoteObject?
                        CommonResourceManager.Instance.GetResourceString("XRay_AddEditNoteView_EditNoteTitle") :
                            CommonResourceManager.Instance.GetResourceString("XRay_AddEditNoteView_EditNoteGroup"),
                            Content = new AddEditNoteView(addNoteViewModel)
            };

            eventAggregator.GetEvent <RaisePopupEvent>().Publish(popupEventArgs);
        }
        private void AddProfile()
        {
            var addNoteViewModel = new AddEditNoteViewModel();

            addNoteViewModel.OnSaveAction = () =>
            {
                var profile = new ProfileObject
                {
                    Name = addNoteViewModel.Name,
                };

                profiles.Add(profile);

                SelectedProfile = profile;

                NoteService.SaveAppSettings();

                eventAggregator.GetEvent <RefreshSettingsEvent>().Publish(new RefreshSettingsEventArgs());
            };

            var popupEventArgs = new RaisePopupEventArgs()
            {
                Title   = CommonResourceManager.Instance.GetResourceString("XRay_AddEditNoteView_AddProfileTitle"),
                Content = new AddEditNoteView(addNoteViewModel)
            };

            eventAggregator.GetEvent <RaisePopupEvent>().Publish(popupEventArgs);
        }
        private void AddNote()
        {
            var addNoteViewModel = new AddEditNoteViewModel
            {
                IsGroupPossible = SelectedStage is StageObject
            };

            addNoteViewModel.OnSaveAction = () =>
            {
                ReactiveList <NoteObject> noteList = null;

                if (SelectedStage is StageObject)
                {
                    if (addNoteViewModel.IsGroup)
                    {
                        var group = new InnerGroupObject
                        {
                            Name       = addNoteViewModel.Name,
                            IsSelected = true
                        };

                        (SelectedStage as StageObject).InnerGroups.Add(group);
                        SaveNote();
                        return;
                    }

                    noteList = (SelectedStage as StageObject).Notes;
                }
                else if (SelectedStage is InnerGroupObject)
                {
                    noteList = (SelectedStage as InnerGroupObject).Notes;
                }
                else
                {
                    foreach (var stage in stages)
                    {
                        if (stage.Notes.Contains(SelectedStage))
                        {
                            noteList = stage.Notes;
                            break;
                        }

                        foreach (var group in stage.InnerGroups)
                        {
                            if (group.Notes.Contains(SelectedStage))
                            {
                                noteList = group.Notes;
                                break;
                            }
                        }
                    }
                }

                if (noteList == null)
                {
                    return;
                }

                var note = new NoteObject
                {
                    ID = ObjectsHelper.GetNextID(NoteService.CurrentNotesAppSettings.AllNotes),
                    ParentStageType = NoteStageType,
                    Name            = addNoteViewModel.Name,
                    DisplayedNote   = addNoteViewModel.Name,
                    IsSelected      = true
                };

                note.TrackChanges(true);

                noteList.Add(note);

                SaveNote();
            };

            var popupEventArgs = new RaisePopupEventArgs()
            {
                Title   = CommonResourceManager.Instance.GetResourceString("XRay_AddEditNoteView_AddTitle"),
                Content = new AddEditNoteView(addNoteViewModel)
            };

            eventAggregator.GetEvent <RaisePopupEvent>().Publish(popupEventArgs);
        }