public SimilarSegmentMappingsViewModel(IProjectService projectService, IDialogService dialogService, SegmentMappingsTableViewModel.Factory segmentMappingsTableFactory,
			SegmentMappingsViewModel mappings, SegmentMappingViewModel.Factory mappingFactory, SoundType soundType)
        {
            _projectService = projectService;
            _mappings = mappings;
            _mappings.PropertyChanged += ChildPropertyChanged;
            _soundType = soundType;
            _dialogService = dialogService;
            _segmentMappingsTableFactory = segmentMappingsTableFactory;
            _mappingFactory = mappingFactory;
            _editSegmentMappingsTableCommand = new RelayCommand(EditSegmentMappingsTable);
        }
Esempio n. 2
0
        private void EditSegmentMappingsTable()
        {
            SegmentMappingsTableViewModel vm = _segmentMappingsTableFactory(_mappings.Mappings, _soundType, _threshold);

            if (_dialogService.ShowModalDialog(this, vm) == true)
            {
                using (_mappings.Mappings.BulkUpdate())
                {
                    _mappings.Mappings.RemoveAll(m => m.IsValid);
                    _mappings.Mappings.AddRange(vm.Segments.SelectMany(s => s.SegmentPairs).Where(sp => sp.IsEnabled)
                                                .SelectMany(sp => sp.Mappings.Mappings));
                }
                Threshold = vm.Threshold;
            }
        }