private void AddMapping()
        {
            var vm = new NewSegmentMappingViewModel(_projectService.Project.Segmenter);

            if (_dialogService.ShowModalDialog(this, vm) == true)
            {
                var mapping = new SegmentMappingViewModel(_projectService.Project.Segmenter, vm.Segment1, vm.Segment2);
                _mappings.Add(mapping);
                SelectedMapping = mapping;
                IsChanged       = true;
            }
        }
Beispiel #2
0
        public SegmentMappingsViewModel(IDialogService dialogService, IImportService importService, SegmentMappingViewModel.Factory mappingFactory,
			NewSegmentMappingViewModel.Factory newMappingFactory)
        {
            _dialogService = dialogService;
            _importService = importService;
            _mappingFactory = mappingFactory;
            _newMappingFactory = newMappingFactory;
            _mappings = new BindableList<SegmentMappingViewModel>();
            _newCommand = new RelayCommand(AddMapping);
            _removeCommand = new RelayCommand(RemoveMapping, CanRemoveMapping);
            _importCommand = new RelayCommand(Import);
            _mappings.CollectionChanged += MappingsChanged;
        }
        private void AddMapping()
        {
            NewSegmentMappingViewModel vm = _newMappingFactory();

            vm.Segment1        = _segment1;
            vm.Segment2        = _segment2;
            vm.SegmentsEnabled = _segment1 == null && _segment2 == null;
            if (_dialogService.ShowModalDialog(this, vm) == true)
            {
                SegmentMappingViewModel mapping = _mappingFactory(vm.LeftEnvironment1 + vm.Segment1 + vm.RightEnvironment1,
                                                                  vm.LeftEnvironment2 + vm.Segment2 + vm.RightEnvironment2);
                SegmentMappingViewModel existingMapping = _mappings.FirstOrDefault(m => (m.Segment1 == mapping.Segment1 && m.Segment2 == mapping.Segment2) ||
                                                                                   (m.Segment1 == mapping.Segment2 && m.Segment2 == mapping.Segment1));
                if (existingMapping == null)
                {
                    _mappings.Add(mapping);
                }
                else
                {
                    mapping = existingMapping;
                }
                SelectedMapping = mapping;
            }
        }